Ssh 什么是';代理没有身份';什么意思?

Ssh 什么是';代理没有身份';什么意思?,ssh,ssh-keys,Ssh,Ssh Keys,我成功地从GitHub了解了如何生成SSH密钥,并且我与GitHub的连接也成功 但是,当我以后想检查我的SSH密钥时,当我使用SSH add-l时,我没有得到在我的GitHub SSH密钥设置页面中看到的SSH指纹 我得到的信息不是SSH密钥指纹,而是代理没有身份。为什么?这意味着什么?这意味着您尚未成功地将密钥添加到代理。使用ssh add,如第一个链接第2部分第3步所示 注意,这需要为每个ssh代理实例执行;因此,如果您注销并重新登录,则需要再次添加密钥。类似地,如果在两个不同的终端窗口中

我成功地从GitHub了解了如何生成SSH密钥,并且我与GitHub的连接也成功

但是,当我以后想检查我的SSH密钥时,当我使用
SSH add-l
时,我没有得到在我的GitHub SSH密钥设置页面中看到的SSH指纹


我得到的信息不是SSH密钥指纹,而是代理没有身份。为什么?这意味着什么?

这意味着您尚未成功地将密钥添加到代理。使用
ssh add
,如第一个链接第2部分第3步所示

注意,这需要为每个ssh代理实例执行;因此,如果您注销并重新登录,则需要再次添加密钥。类似地,如果在两个不同的终端窗口中启动
ssh-agent
两次,它们之间就不会有共享的私钥,因此您需要在每个窗口中添加
ssh
一次(或者,更好的是,配置您的系统,以便在桌面会话中的所有正在运行的应用程序之间共享一个代理)


现代桌面环境通常会为您提供一个SSH密钥环,因此,如果您的代理是这样配置的,您不需要自己启动
SSH-agent
,这样提供的代理实例应该在整个会话中共享。gnome密钥环的行为是这样的,苹果的钥匙链和KDE的钱包(启用了ksshaskpass)也是如此。

旁白:这不是一个真正的编程问题——SSH身份被用于许多与软件开发无关的用途,而问题本身与编写代码无关;我可能会在或相反的情况下询问它。如果
ssh add
程序正在生成消息呢?@throwayAccount3Million,它仅使用
-l
选项生成该消息。在其任务是添加新密钥的模式中使用时,它不会生成该值。