码迷,mamicode.com
首页 > 其他好文 > 详细

ssh 公鑰認證登入

时间:2015-02-16 18:07:34      阅读:165      评论:0      收藏:0      [点我收藏+]

标签:

大部份情況下用 ssh 連線到 Linux 主機,就是連上去後打帳號、密碼後登入,但其實 ssh 還提供公鑰認證的方式,就是在本機安裝一把私鑰,在 Linux 主機上安裝一把公鑰,那麼使用 ssh 連線時,就可以直接連線,不需要輸入帳號、密碼,方法如下: (這裡使用 putty 連線 Linux)

  • 使用 PuTTY Key Generator 產生 Key

執行 PuTTY Key Generator 產生公私鑰,如下圖,按【Generate】,然後滑鼠要一直動,這個軟體會根據滑鼠軌跡計算出公私鑰。當產生出來後,按【Save public key】及【Save private key】將公私鑰儲存。(假設儲存的檔名為 steven.pub 及 steven.ppk)

技术分享

 

  • 設定 Putty

如下圖,輸入要連線的主機的 IP 或 host name,並為這個 session 取個名稱後按【Save」。

技术分享

於 Auto-login username 處輸入要登入的帳號。

技术分享

於 Private key file for authentication 設定私鑰的檔名,然後點選左邊的 Session,回到最開頭的那個畫面後按【Save】,將上述的設定儲存。

技术分享

  • 部署公鑰

使用 ssh-copy-id 將公鑰部署到 Linux Server 上,steven.pub  是公鑰檔名,steven 是帳號,192.168.253.128 是主機的 IP。

ssh-copy-id -i steven.pub steven@192.168.253.128

部署上去後,在 Linux 主機上的 /home/steven/.ssh 目錄下,會出現一個名為 authorized_keys 的檔案,公鑰被放入這個檔案裡了! 如果這個檔案原本就已存在,這一次部署的公鑰會被 append 在檔案後頭。部署後要記得檢查一下這個檔案的權限必須是 644,且使用者和群組需要是 steven steven,如下圖所示,如果不是當然就自己改一下…

chmod 644 authorized_keys
chown steven.steven authorized_keys

 

技术分享

  • 修改 ssh 設定檔

使用 root 權限,開啟 /etc/sshd_config,這個檔有很多選項,下面只列出要設定的部份,因為我們產生的是 RSA 演算法的公私鑰,所以進行如下設定,這些設定簡單的說,就是開啟 RSA public key 授權,並指明 public key  所放置的位置。其實這些選項原本就都存在於 sshd_config 檔裡,只是被 # 設成註解,只要找到這些選項將 # 移除就可以了。

HostKey /etc/ssh/ssh_host_rsa_key

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile      .ssh/authorized_keys

修改完 ssh 設定必須重啟服務,如下:

service sshd restart
  • 測試

開啟 putty 選擇一開始我們儲存的那個 session,按【Open】進行連線,不需要輸入帳號、密碼,即可以看到如下畫面,表示已登入成功。

技术分享

ssh 公鑰認證登入

标签:

原文地址:http://www.cnblogs.com/stevwn/p/4294293.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!