用Bouncy Castle将RSA公钥转换为RFC 4716公钥
我希望将RSA公钥转换为可以用作SSH公共密钥的东西. 目前,我有充气城堡为我生产出一个看起来像这样的公钥: -----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAq1Y5300i8bN+cI2U3wJE Kh3xG/.........jbuz+WB0vvG P25UwCle2k5siVMwbImEYsr+Xt0dsMmGVB3/6MHAqrM3QQdQ8p2E5TyzL+JYa1FT gwIDAQAB -----END PUBLIC KEY----- 我希望它具有类似于以下格式的RFC 4716格式: ssh-rsa AAAAB3NzaC1yc2.......G1p2Ag3mZLFsks7RNHVLgMsGIAikQ== 到目前为止,我的代码使用弹力城堡看起来像这样: var r = new Org.BouncyCastle.Crypto.Generators.Rs
14 2024-04-11
编程技术问答社区
Bitbucket管道SSH键设置:无法获取主机指纹
我正在尝试为管道设置SSH键,并使用SCP部署管道将构建步骤的工件的文件发送到嵌入式设备.我在存储库设置中生成了SSH密钥,并在我对管道和ssh是相对较新的,所以我对出了什么问题已经失去了. 我尝试按照文档的说明手动创建SSH键对,但我仍然无法与管道中的SSH/SCP连接.我确保了.ssh和授权的文件的权限分别为700和600.同样,我也无法获取已知的宿主指纹. 解决方案 我的猜测总是是SSH指纹从服务器中获取,无论是您的本地硬件还是Atlassian的BitbucketCloud®基础架构.不是从您的自托管管道跑步者那里(您将如何选择?),绝对不是从笔记本电脑那里. 所以,关于如何为Intranet宿主获取SSH指纹的问题,我想三种解决方案. 如果您使用的是本地Bitbucket服务器,则可以发现您放入同一网络的主机.这是一个非常量身定制的解决方案,我建议您反对.但是,如果这恰好是您当前的设置...我认为从Web UI获取应该有效. 将某些端口转发到防火
28 2024-03-31
编程技术问答社区
Jenkins-用SSH从BitBucket获取代码
我创建了一个私钥,并在Bitbucket上的键中添加了公共密钥,就像在此教程 我试图在凭证菜单下将私钥添加到詹金斯,但它一直在说: Failed to connect to repository : Command "C:\Program Files\Git\cmd\git.exe -c core.askpass=true ls-remote -h git@bitbucket.org:bla/blabla.git HEAD" returned status code 128: stdout: stderr: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists. 我在詹金斯上做错了什么? 谢谢. 解决方
18 2024-03-31
编程技术问答社区
当SSH键已经添加时,Git推动未经授权
我没有任何分支许可集,我还已经将公共密钥添加到了Bitbucket SSH设置中. ┌──[forge@app]──[~/app] └── git status On branch master Your branch is ahead of 'origin/master' by 2 commits. (use "git push" to publish your
10 2024-03-31
编程技术问答社区
访问多个 repo 的 SSH 配置不工作
这是配置文件: Host bitbucket.org HostName bitbucket.org User git IdentityFile ~/.ssh/id_rsa Host bitbucket-office.org HostName bitbucket-off.org User git IdentityFile ~/.ssh/work_rsa Host bitbucket-personal.org HostName bitbucket-per.org User git IdentityFile ~/.ssh/personal_rsa 我不知道设置有什么问题.我想从同一本地机器连接到2个远程存储库.设置配置文件是我通过Internet找到的解决方案.但是不知何故,我只能一次使用一个(最新创建).当我尝试从其他存储库中提取时,它会引发以下错误: Agent admitted failure to sign using the key. repository acc
14 2024-03-31
编程技术问答社区
为多个bitbucket账户配置ssh-简单的例子,但得到'远程端意外挂断'。
假设我的Bitbucket用户名是" Jon",我有一些个人项目https://bitbucket.org/jon. 假设我然后加入一个开发团队,该开发团队具有一个名为" devteam"的Bitbucket帐户,该帐户可以在https://bitbucket.org/devteam> 上找到 然后假设我正在设置一台新机器.我生成一个~/.ssh中的SSH键对id_rsa和id_rsa.pub.然后,我的开发团队负责人将我的id_rsa.pub公共密钥添加到Bitbucket上的DevTeam帐户.现在,我可以从DevTeam帐户中克隆项目并开始工作. 接下来,我想与自己的jon帐户进行互动.但是,我无法将id_rsa.pub键添加到我的Bitbucket帐户中,因为Bitbucket告诉我,该密钥已经添加到帐户中.这意味着我必须生成第二个密钥对.因此,我按照此处指示运行ssh-keygen -f ~/.ssh/jon -C "jon":现在我有两个密钥对,id_rsa和
10 2024-03-31
编程技术问答社区
无法推动Bitbucket,允许拒绝(publicKey)
我试图将我的项目推向我的Bitbucket,大约4天乱了大约4天,这些问题通过无数的问题解决/页面/故障排除/教程.我很茫然,非常沮丧.我之前已经这样做了,但是在不同的计算机上...无论如何,这是我得到的代码/响应 ~/dev/sample_app git push -u origin --all The authenticity of host 'bitbucket.org (131.103.20.168)' can't be established. RSA key fingerprint is 81:7b:2c:f5:6f:18:2b:7c:4b:ec:aa:46:46:74:7c:40. Are you sure you want to continue connecting (yes/no)? Host key verification failed. fatal: Could not read from remote repository. Please make
22 2024-03-31
编程技术问答社区
Bitbucket的ssh公钥被拒绝,但他们的ssh测试连接没有问题。
很可能相关的信息是我设置了一个定制的SSH配置为Bitbucket设置.在我的'.ssh/config'文件中,我有以下内容: [ivanna@comp]$ cat ~/.ssh/config Host bitbucket Hostname bitbucket.org IdentityFile /home/ivanna/.ssh/id_rsa_bitbucket IdentitiesOnly yes 就SSH而言,此文件的权限绝对正确(我在配置文件中积极使用其他条目).现在,当我在git中添加远程来源时,我使用了bitbucket而不是bitbucket.org: git remote add origin bitbucket:ivanna/my-repo.git 但是当我尝试推动时,我会收到以下错误: Permission denied (publickey). fatal: Could not read from
6 2024-03-31
编程技术问答社区
Github公钥的公开URL是什么?
我听说Github上的所有用户都有一个公共URL,您可以在其中访问其公共钥匙,或者他们可以提供所有公共钥匙中的URL.这是真的?如果是这样,那是什么网址.它也适用于bitbucket吗? 解决方案 您可以得到: curl https://github.com/.keys 用github用户的实际用户名替换 当您将登录权限设置为其他服务器时,这很有用.只需将其输出保存到~/.ssh/authorized_keys中即可.将其附加到命令行的结尾: curl https://github.com/.keys | tee -a ~/.ssh/authorized_keys 也可以使用github api 完成 curl -i https://api.github.com/users//keys 对于位存储桶,您可以使用以下内容:(此调用需要身份验证.) curl -i
12 2024-03-31
编程技术问答社区
存储库的访问被拒绝。通过部署密钥的访问是只读的。
成功从Heroku克隆了我的存储库并添加了另一个远程 1/ git clone git@heroku.com:[APP].git 2/ git remote add bitbucket ssh://git@bitbucket.org/[ACCOUNT]/[REPO].git 3/ git push bitbucket master 我仍在运行行(3)或使用Sourcetree 后仍会遇到此错误 conq: repository access denied. access via a deployment key is read-only. 首先,我不明白此消息在实践中的含义.那真是可耻. 我确实创建了SSH键对并添加到Heroku: ssh-keygen -t rsa heroku keys:add ./id_rsa.pub 我还在Bitbucket中添加了我的部署键部分中的密钥.但是我一定缺少一些东西.这个问题不是出于懒惰,我一直在阅读包括Bitb
18 2024-03-31
编程技术问答社区
使用ansible添加多个SSH密钥
我已经写了一个Ansible脚本来从远程服务器中删除SSH键: --- - name: "Add keys to the authorized_keys of the user ubuntu" user: ubuntu hosts: www tasks: - name: "Remove key #1" authorized_key: user=ubuntu key="{{ item }}" state=absent with_file: - id_rsa_number_one.pub - name: "Remove key #2" authorized_key: user=ubuntu key="{{ item }}" state=absent with_file: - id_rsa_number_two.pub ... 将每个文件添加为另一个任务是荒谬的,因此我尝试使用 - name: "Remove a
20 2024-03-29
编程技术问答社区
在Bashrc中设置SSH身份
我有一个.bashrc文件来启动我的ssh代理(>从这里取). 每当我启动我的机器时,我都必须向其添加身份(使用ssh-add ~/.ssh my_private key). 不知道bash脚本太多,我要调整此脚本以添加我的身份的脚本吗? SSH_ENV="$HOME/.ssh/environment" # start the ssh-agent function start_agent { echo "Initializing new SSH agent..." # spawn ssh-agent ssh-agent | sed 's/^echo/#echo/' > "$SSH_ENV" echo succeeded chmod 600 "$SSH_ENV" . "$SSH_ENV" > /dev/null ssh-add } # test for identities function test_identit
16 2024-03-29
编程技术问答社区
SSH密钥在启动代理后要求输入密码。
我在Bitbucket上有2个不同帐户的2个SSH键. 以下是我的bachrc文件: # Note: ~/.ssh/environment should not be used, as it # already has a different purpose in SSH. env=$HOME/.ssh/agent.env # Note: Don't bother checking SSH_AGENT_PID. It's not used # by SSH itself, and it might even be incorrect # (for example, when using agent-forwarding over SSH). agent_is_running() { if [ "$SSH_AUTH_SOCK" ]; then # ssh-add returns: # 0 =
18 2024-03-28
编程技术问答社区
ssh-keygen 接受 stdin
我试图使用bash的变量来调用ssh-keygen作为输入而不是文件,以获取公共密钥的指纹.我知道我可以使用一个临时文件解决这个问题,但是出于这个问题的范围,我不想. 此方法确实不起作用,因为它说密钥文件是无效的(当然是正确的) echo $pubkey | ssh-keygen -lf /dev/stdin this 确实有效,但没有使用变量,而是文件. ssh-keygen -lf alpha.pub this 确实有效,但没有使用变量,而是重定向的文件. ssh-keygen -lf /dev/stdin
14 2024-03-28
编程技术问答社区
ssh-agent和crontab--有什么好办法可以让它们相遇?
我编写了一个简单的脚本,该脚本将SVN活动邮寄给我们的开发人员.到目前为止,我已经在与SVN存储库的机器上运行它,因此我不必担心身份验证,我可以只使用SVN的文件:///address Style. 现在,我正在家庭计算机上运行脚本,访问远程存储库,因此我不得不更改为svn+ssh://paths.使用SSH-KEY良好设置,我不必在正常情况下输入密码以访问SVN存储库. 但是,crontab无法访问我的ssh-keys/ssh-agent.我已经在网络上的几个地方读过有关此问题的信息,并且在这里也暗示了它,而没有解决方案: 为什么ssh失败从crontab,但从命令行执行时成功? 我的解决方案是将其添加到脚本的顶部: ### TOTAL HACK TO MAKE SSH-KEYS WORK ### eval `ssh-agent -s` 这似乎在MacOSX 10.6下起作用. 我的问题是,这有多可怕,有更好的方法吗? 解决方案 运行S
14 2024-03-28
编程技术问答社区
从变量中添加SSH密钥
我在Docker容器中有一个Bash脚本,需要通过SSH访问远程服务器.我在变量内有SSH键.如何将其添加到SSH? 解决方案 ssh-add - CI/CD> - > Variables 中添加您的变量 在.gitlab-ci.yml文件中使用该变量: - echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null gitlab文档 其他解决方案 另外,您可以使用: echo "${SSH_PRIVATE_KEY}" | ssh-add - 或 ssh-add
24 2024-03-27
编程技术问答社区
在通过CLI配置azure linux vm时创建多个用户
我正在尝试通过Terraform在Azure上创建Linux虚拟机,我的要求是在OS上设置多个用户帐户.我对Azure Cloud相对较新,并且浏览了一些基本文档,但找不到我想要的. 我想利用azure-cli来通过Terraform或外壳脚本来自动化该过程.如果任何人都有与我的用例相关的任何事情,或者指向我的方向以实现这一任务的任何替代方法,那么这将不胜感激. 谢谢, 解决方案 要在Azure的VM的配置时间中创建多个用户,您可以使用云中的文件来实现这一目标.这样的云点文件中添加用户: #cloud-config users: - default - name: user1 groups: sudo shell: /bin/bash sudo: ['ALL=(ALL) NOPASSWD:ALL'] ssh-authorized-keys: - ssh-rsa AAAAB3 - name: us
20 2024-03-24
编程技术问答社区
Jenkins CLI认证
我试图使用以下命令在CLI上从我的Jenkins上运行Grovysh: java -jar jenkins-cli.jar -s -i JenkinsPrivateKey.ppk groovysh 我使用puttygen生成了此私钥文件,然后将公共密钥粘贴到詹金斯(Jenkins)/me/配置页面的SHH公共钥匙盒中.并不是说钥匙不起作用 - 似乎根本没有认证.当我使用CLI运行WHO-AM-I时: java -jar jenkins-cli.jar -s -i JenkinsPrivateKey.ppk who-am-i 它给了我: 的回应 Authenticated as: anonymous 我在这里想念什么?我认为如果身份验证失败,它至少会显示出某种错误消息.有什么方法可以验证私钥实际上有效吗? 编辑:经过一些实验,似乎通过CLI的身份验证确实会默默失败 - 我在个人资料配置中放了一个虚假的
12 2024-03-20
编程技术问答社区
SSH密钥与git认证的令牌在哪些方面不同?
我最近开始收到有关使用密码进行git的基本身份验证的github贬值的通知 - 请参阅他们的博客文章 https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/. 在这篇文章中,他们说以下内容: 对于开发人员,如果您今天使用密码来验证GIT.com的GIT操作,则必须在2021年8月13日之前开始使用HTTPS(推荐)或SSH键使用个人访问令牌,以避免中断. 不久前,我开始在我使用的某些机器上使用SSH键,以避免定期输入密码或将其存储到未经凭证助手的情况下.但是,如上所述,他们说"推荐"个人访问令牌. 我想知道的是,每种方法之间的主要区别是什么?这是为了了解为什么要"推荐"令牌以及是否值得切换到这种身份验证方法. 解决方案 来自您链接的博客文章,我可以看到令牌比SSH键的至少一个好处:虽然令牌和SSH键都共享 unique ,可撤销和随机在下面的博客文
16 2024-03-19
编程技术问答社区
无法让SSH密钥在sourcetree和github之间工作
我能够通过命令提示符成功地按照这些说明来创建一个键并连接到github: https://help.github.com/articles/articles/generating-ssh-keys 但是,当我尝试通过Sourcetree和Putty连接时,我不能.我尝试了: 用腻子键发电机(SSH-2 RSA)生成新键 输入密码 保存私钥 保存公钥并添加.Pub扩展名 将钥匙从油腻的钥匙发生器窗口复制/粘贴到github 使用我从github获得的SSH克隆URL从我本地存储库中刷新我的私人GitHub存储库的分支机构 我还尝试打开从github命令行指令生成的键,它希望我将其转换为我所做并保存下来的putty型键,并尝试了该密钥.也没有运气. 我在做什么错? 解决方案 为了使其工作,我最终要使用工具 - >选项 - > SSH客户端并将其更改为OpenSSH.我生成并上传了几种不同类型的钥匙,试图使其正常工作,但我认为这是最终做到的.
20 2024-03-18
编程技术问答社区