我成功地从GitHub跟踪these instructions如何生成SSH密钥,并且我与GitHub的连接是成功的。
但是当我后来想要在these instructions之后检查我的SSH密钥时,当我使用ssh-add -l
时,我没有得到我在GitHub SSH密钥设置页面中看到的SSH指纹。
而不是SSH密钥指纹,我收到消息The agent has no identities.
为什么?这是什么意思?
答案 0 :(得分:9)
这意味着您尚未成功将密钥添加到代理商。使用ssh-add
执行此操作,如第一个链接的第2部分第3步中所示。
请注意,需要为每个ssh-agent实例执行此操作;因此,如果您退出并重新登录,则需要再次ssh-add
您的密钥。同样,如果您在两个不同的终端窗口中启动ssh-agent
两次,则它们之间不会有共享私钥,因此您需要在每个窗口中ssh-add
一次(或者,更好地配置您的系统,以便在桌面会话中的所有正在运行的应用程序之间共享代理。)
现代桌面环境通常会为您提供SSH密钥环,因此如果您的代理配置如此,则不需要自己启动ssh-agent
,并且应在整个会话中共享此提供的代理实例。 gnome-keyring就像这样,Apple的钥匙串和KDE的钱包(启用了ksshaskpass)。