2016年2月22日 星期一

SSH遠端登入不用密碼

一般來說,使用ssh登入遠端系統的時候都要輸入密碼,對於一直要登入某台機器,就必須不斷地輸入密碼,如果密碼又很長會很累。下面介紹如何認證一次後,未來登入都透過金鑰直接登入而不用再輸入密碼

概念很簡單,從本機產生一對電子鑰匙,分別是公鑰(public key)與私鑰(private key)。
  • 本機端存放私鑰
  • 遠端機器放公鑰

只要上述兩步驟,實際操作會是:
  • ssh-keygen -t rsa在本機端的./ssh/中產生 id_rsa(私鑰), id_rsa.pub (公鑰)
  • 把id_rsa.pub的內容附加到遠端機器./ssh/authorized_keys後面

再次登入的時候就不會再問密碼了。要注意在ssh-keygen的時候會要求輸入passphrase,直接按enter跳過後就不會問私鑰的密碼,但是要小心存放私鑰。

SSH加密的方式可以是RSA,也可以是DSA,如果要用DSA的話,第一步ssh-keygen -t rsa改成ssh-keygen -t dsa就可以了。RSA基於因數分解,DSA基於離散對數難題,更加詳細的內容參考jeffean的寫的文章«使用金鑰登入SSH» 



2016-May-21 更新authorized_keys

儲存公鑰的檔案名稱必須要是authorized_keys,任何的拼寫錯誤就無法使用

_EOF_

沒有留言:

張貼留言