SSH登陸阿裏雲服務器出現Permission denied (publickey)錯誤解決方案
操作環境:
- 操作系統:Mac10.11.5
- 阿裏雲服務器:Ubuntu16.04
- 遠程連接:SSH
註:首先我們已假設你已經自己生成了SSH秘鑰,並已經配置到阿裏雲、綁定了自己的雲服務器。
但是後來發現原本好使的SSH再次登陸服務器時卻提示:Permission denied (publickey).的錯誤。解決辦法是用 ssh-add privateKey
ssh-add 永久將私鑰添加到 Keychain
我們配置完SSH之後執行 ssh-add privateKey
將 SSH 的私鑰添加進去,但是發現了一個問題就是每次重啟電腦後都需要重新 ssh-add
,顯然每次重啟後都需要重新添加讓我等程序員肯定受不了,解決辦法就是在添加 ssh 私鑰的時候使用如下命令: ssh-add -K privateKey
首先得了解一件事:ssh-add 這個命令不是用來永久性的記住你所使用的私鑰的。實際上,它的作用只是把你指定的私鑰添加到 ssh-agent 所管理的一個 session 當中。而 ssh-agent 是一個用於存儲私鑰的臨時性的 session 服務,也就是說當你重啟之後,ssh-agent 服務也就重置了,session 會話也就失效了。
既然 ssh-agent 是個臨時的,那麽對於 Mac 來說,哪裏可以永久存儲的,顯然就是 Keychain 了,在執行 ssh-add -K privateKey
備註:Mac10.12版本的無效,看這裏:https://github.com/jirsbek/SSH-keys-in-macOS-Sierra-keychain
SSH登陸阿裏雲服務器出現Permission denied (publickey)錯誤解決方案