[置頂] SSH公鑰認證

SSH公鑰認證

 

關於公鑰認證的原理,維基百科上的這個條目是一個很好的起點: http://en.wikipedia.org/wiki/Public-key_cryptography

如果你的主目錄下不存在 .ssh 目錄,說明你的 SSH 公鑰/私鑰對尚未創建。可以用這個命令創建:

$ ssh-keygen

該命令會在用戶主目錄下創建 .ssh 目錄,並在其中創建兩個文件:

  • id_rsa

    私鑰文件。是基於 RSA 算法創建。該私鑰文件要妥善保管,不要泄漏。

  • id_rsa.pub

    公鑰文件。和 id_rsa 文件是一對兒,該文件作爲公鑰文件,可以公開。

創建了自己的公鑰/私鑰對後,就可以使用下面的命令,實現無口令登錄遠程服務器,即用公鑰認證取代口令認證。

$ ssh-copy-id -i .ssh/id_rsa.pub user@server

說明:

  • 該命令會提示輸入用戶 user 在 server 上的SSH登錄口令。
  • 當此命令執行成功後,再以 user 用戶登錄 server 遠程主機時,不必輸入口令直接登錄。
  • 該命令實際上將 .ssh/id_rsa.pub 公鑰文件追加到遠程主機 server 的 user 主目錄下的 .ssh/authorized_keys 文件中。

檢查公鑰認證是否生效,運行SSH到遠程主機,正常的話應該直接登錄成功。如果要求輸入口令則表明公鑰認證配置存在問題。如果SSH服務存在問題,可以通過查看服務器端的 /var/log/auth.log 進行診斷。

 

ssh-copy-id : https://anoncvs.mindrot.org/openssh/contrib/ssh-copy-id?view=co

http://henry.precheur.org/system/ssh-copy-id
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章