我在尝试通过终端使用 SSH 时遇到问题。我知道在 Windows 中,您必须使用 PuTTY 来简化这种连接,并且使用它连接具有我的key.ppk
文件的公钥版本的远程服务器时,它可以正常工作。
问题是,当使用 PowerShell/Git Bash 时,我无法通过 SSH 下载任何内容。它会永远加载到此屏幕:
我已经key.ppk
加载了 Pageant Key 列表:
现在,这还不是问题,因为我主要通过 PuTTY 会话以及 Git 客户端(我使用 GitKraken)来处理我的 SSH 连接,据我所知,它使用了 Plink。
但是现在,在一个工作项目中,我需要将我的 SSH 私钥提供到一个目录中,以便 Docker 构建可以获取它并访问公司存储库(我的公钥已加载到我的 BitBucket 帐户中)。当然,这是行不通的。
我有两个问题:
- 如何使我的 SSH 密钥可以在终端中使用
- 另外,我想知道如何获取我的密钥的 OpenSSH 版本,以便将其作为
id_rsa
无扩展名文件存储在上述存储库目录中,以供 Docker 构建使用
我知道使用PuTTY你可以做到后者(菜单转换 > 导出 OpenSSH 密钥),但我还是不知道如果不使用扩展名保存它是否就足够了。
顺便说一句:我搜索了很多,有很多关于此的问题,但都没有任何帮助。
提前致谢。
答案1
无扩展名的 id_rsa 文件应该足够了。您可以尝试以下方法:
- 如果 git bash 具有该
file
实用程序,您可以在 ssh 密钥 (file id_rsa
) 上运行它以验证它是否是正确的文件类型。 - 将密钥移动到 Windows 用户目录中名为“.ssh”的文件夹。我不记得 git bash 是否有自己单独的用户目录。如果有,你应该使用那个。
如果这些都不起作用,您可能需要尝试 OpenSSH 自己的ssh-agent
:
# start the ssh-agent in the background
$ eval $(ssh-agent -s)
> Agent pid 59566
$ ssh-add ~/.ssh/id_rsa # (or whatever path you have the ssh key in)