SSH登錄阿里雲服務器出現Permission denied (publickey)錯誤解決方案

操做環境:git

  • 操做系統:Mac10.11.5
  • 阿里雲服務器:Ubuntu16.04
  • 遠程鏈接:SSH

注:首先咱們已假設你已經本身生成了SSH祕鑰,並已經配置到阿里雲、綁定了本身的雲服務器。程序員

可是後來發現本來好使的SSH再次登錄服務器時卻提示:Permission denied (publickey).的錯誤。解決辦法是用 ssh-add privateKeygithub

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

相關文章
相關標籤/搜索