我最近重新安装了笔记本电脑,发现'git clone'无法正常工作。我一直收到Permission denied (publickey).错误。
该修补程序记录在GitHub的SSH问题页面上:用于ssh-add告知SSH我要用于在GitHub上进行身份验证的密钥。
我的问题是:ssh-add实际上,这实际上是做什么的?
我一直想扩大对SSH的了解,这似乎是一个很好的借口:-)
我最近重新安装了笔记本电脑,发现'git clone'无法正常工作。我一直收到Permission denied (publickey).错误。
该修补程序记录在GitHub的SSH问题页面上:用于ssh-add告知SSH我要用于在GitHub上进行身份验证的密钥。
我的问题是:ssh-add实际上,这实际上是做什么的?
我一直想扩大对SSH的了解,这似乎是一个很好的借口:-)
Answers:
ssh-add将私钥身份(来自您的~/.ssh目录)添加到身份验证代理(ssh-agent),以便ssh代理可以为您处理身份验证,并且您无需在终端输入密码。
ssh确实使用~/.ssh目录中的密钥,但是如果密钥受密码保护,则必须在某个时候输入该密码。如果使用ssh-agent和ssh-add,则只需键入一次该密码。否则,每次使用时都必须输入密码ssh。请注意,如果密钥不受密码保护,则可以在ssh不要求输入密码的情况下使用。
~/.ssh目录中使用密钥。某些发行版会ssh-add自动完成吗?也许那就是为什么我感到困惑?