5

k,所以我正在设置Git并按照本教程设置 SSH 密钥。指纹是16:27:...:a6:48。我安装了适用于 Windows 的 GitHub 客户端,它设置了一个在文件夹中自动调用的新 SSHgithub_rsa密钥%user%/.ssh/

我删除了“旧”SSH 密钥(不要问我为什么)并使用指纹设置了一个新密钥a6:17:ed:4a:1d:9a:c7:63:6a:a1:38:8b:96:e3:91:bf我只是删除了以前的id_rsa密钥和known_hosts文件然后用来ssh-keygen制作另一个 - 我没有弄乱 GitHub钥匙)。

现在,每当我尝试 ssh intogit@github时,它都会说:

无法建立主机 'github.com (207.97.227.239)' 的身份验证 RSA 密钥指纹是 16:27:...:a6:48 确定要继续连接(是/否)?

这不是我想要的。它显示了我删除的旧 SSH 密钥(连同known_hosts)。我该怎么办?

[编辑]:我(错误地)假设终端输出的指纹与我的公共 RSA 密钥的指纹匹配。我仍然对 SSH 有疑问,但与此无关(问题已经被问过,请阅读:Git push requires username and password)。我会删除这个问题,但它不允许我说“它有 1 个或多个答案。请标记它以引起版主注意。” _即使是我的。阅读更多:https ://meta.stackexchange.com/questions/140646/what-should-i-do-if-i-realize-the-premise-of-a-question-was-faulty-but-i-已读/140676#140676

4

2 回答 2

16

我认为你应该编辑你的<USER>/.ssh/config文件(或创建它)

Host github.com
User <USER>
IdentityFile ~/.ssh/github_rsa

Host *
User <USER>
IdentityFile ~/.ssh/id_rsa

如果发生的事情就是你所说的,那就可以了。

但也许这不是问题,因为第 5 步:测试链接中的所有内容表明您可能会看到以下警告:

# The authenticity of host 'github.com (207.97.227.239)' can't be established.
# RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
# Are you sure you want to continue connecting (yes/no)?

你不应该担心,这应该会发生。只需验证指纹与此处的指纹是否匹配,然后键入“是”。

于 2012-07-19T16:12:02.373 回答
1

由于您删除了 known_hosts 文件,ssh-agent 将给出以下警告:

无法建立主机 'github.com (207.97.227.239)' 的身份验证 RSA 密钥指纹是 16:27:...:a6:48 确定要继续连接(是/否)?

它第一次尝试连接到此主机以及您通过 SSH 连接到的任何其他主机时。对于您说“是”的每个新主机,主机的指纹都会添加到known_hosts文件中。

如果您每次都收到警告,那么您有一个更大的问题,即您的 known_hosts 文件没有被 ssh 写入或读回。您也可以在每次通过 SSH 连接到其他计算机时验证是否收到此警告消息。

进一步阅读

于 2012-07-19T18:20:57.607 回答