操做环境:git
注:首先咱们已假设你已经本身生成了SSH秘钥,并已经配置到阿里云、绑定了本身的云服务器。程序员
可是后来发现本来好使的SSH再次登录服务器时却提示:Permission denied (publickey).的错误。解决办法是用 ssh-add privateKey
github
ssh-add 永久将私钥添加到 Keychain服务器
咱们配置完SSH以后执行 ssh-add privateKey
将 SSH 的私钥添加进去,可是发现了一个问题就是每次重启电脑后都须要从新 ssh-add
,显然每次重启后都须要从新添加让我等程序员确定受不了,解决办法就是在添加 ssh 私钥的时候使用以下命令: ssh-add -K privateKey
,便可一劳永逸将私钥添加进 Mac 自己的钥匙串中,即 Keychain。下面简单解释下原理。session
首先得了解一件事:ssh-add 这个命令不是用来永久性的记住你所使用的私钥的。实际上,它的做用只是把你指定的私钥添加到 ssh-agent 所管理的一个 session 当中。而 ssh-agent 是一个用于存储私钥的临时性的 session 服务,也就是说当你重启以后,ssh-agent 服务也就重置了,session 会话也就失效了。ssh
既然 ssh-agent 是个临时的,那么对于 Mac 来讲,哪里能够永久存储的,显然就是 Keychain 了,在执行 ssh-add -K privateKey
后能够打开偏好设置中的 Keychain来观察一下先后的变化,是否是多出了 SSH 的条目,见下图。阿里云
备注:Mac10.12版本的无效,看这里:https://github.com/jirsbek/SSH-keys-in-macOS-Sierra-keychainspa