k,所以我设置Git并按this tutorial设置SSH密钥。指纹是16:27:...:a6:48
。我安装了GitHub client for Windows,它在github_rsa
文件夹中自动设置了一个名为%user%/.ssh/
的新SSH密钥。
我删除了“旧的”SSH密钥(不要问我为什么)并设置一个带有指纹的新密钥a6:17:ed:4a:1d:9a:c7:63:6a:a1:38:8b:96:e3:91:bf
我只删除了以前的id_rsa
密钥和{{1然后使用known_hosts
创建另一个文件 - 我没有弄乱GitHub密钥。)
现在,每当我尝试ssh到ssh-keygen
时,它都说:
无法建立主机'github.com(207.97.227.239)'的身份验证 RSA密钥指纹是16:27:...:a6:48 您确定要继续连接(是/否)吗?
这不是我想要的。它显示了我删除的旧SSH密钥(以及git@github
)。我该怎么办?
[编辑]:我(错误地)假设来自终端输出的指纹与我的公共RSA密钥的指纹相匹配。我仍然遇到SSH问题,但它与此无关(问题已被提出,请阅读:Git push requires username and password)。我会删除这个问题,但它不允许我说“它有一个或多个答案。请标记它以供主持人注意。” _尽管它是我的。详情请见:https://meta.stackexchange.com/questions/140646/what-should-i-do-if-i-realize-the-premise-of-a-question-was-faulty-but-i-alread/140676#140676
答案 0 :(得分:15)
我认为您应该使用
编辑<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)?
你不应该担心,这应该发生。只需验证指纹与此处的指纹匹配,然后键入“是”。
答案 1 :(得分:1)
由于您删除了known_hosts文件,ssh-agent将发出此警告:
主机'github.com(207.97.227.239)'的身份验证不能 建立的RSA密钥指纹是16:27:...:a6:48你确定你 想继续连接(是/否)?
第一次尝试连接到此主机以及您连接到的任何其他主机。对于您说“是”的每个新主机,主机的指纹都会添加到 known_hosts 文件中。
如果你每次都收到警告,那么你有一个更大的问题,即你的known_hosts文件没有被ssh写入或回读。每次SSH到其他计算机时,您都可以验证是否收到此警告消息。