我正在尝试克隆当前使用 SSH 公钥/私钥而不是密码配置的 git 存储库。我可以使用 PuTTy 通过 SSH 连接到此服务器,并使用以下命令生成密钥(它是基于 Unix 的服务器)。
$ ssh-keygen -t rsa "[email protected]"
这会按照您的预期在我的 .ssh/ 目录中生成两个文件。
我遇到的问题基本上是尝试通过像 SourceTree 这样的通用 git 客户端将相同的 git 存储库克隆到我的本地 Windows 桌面。
当我尝试通过 SourceTree 查看时,它显示以下内容:-
SSH Authentication Failed
Your SSH agent (Pageant) is running but the server still rejected your connection...
我已安装 Pagent,但不确定从这里做什么?任何想法...
--更新-- 当我在远程服务器上打开私钥时,这就是结构(显然更长并且出于安全目的我已更改它......)
-----BEGIN RSA PRIVATE KEY-----
MIIEoxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
-----END RSA PRIVATE KEY-----
将 ssh 客户端更改为 openssh。之后,您需要创建一对新密钥并将其添加到存储库主机。
您可以使用
创建 ssh 密钥ssh-keygen -t rsa -b 4096 -C "[email protected]"
我在使用 SSH 从 SourceTree 连接到 Bitbucket 时也遇到问题。请注意,对于 Bitbucket,根据文档,Shrava40 的答案不正确 - https://support.atlassian.com/bitbucket-cloud/docs/configure-ssh-and-two-step-verification/ 他们说 rsa 密钥类型仅支持密钥长度 2048。