二、公鑰登入
每次登入遠端主機都需要輸入密碼是很不友善的,如果想要省去這一步驟,可以利用密鑰對進行連接配接,還可以提高安全性。
1、在本機生成密鑰對
使用ssh-keygen指令生成密鑰對:
ssh-keygen -t rsa #-t表示類型選項,這裡采用rsa加密算法
然後根據提示一步步的按enter鍵即可(其中有一個提示是要求設定私鑰密碼passphrase,不設定則為空,這裡看心情吧,如果不放心私鑰的安全可以設定一下),執行結束以後會在 /home/目前使用者 目錄下生成一個 .ssh 檔案夾,其中包含私鑰檔案 id_rsa 和公鑰檔案 id_rsa.pub。
2、将公鑰複制到遠端主機中
使用ssh-copy-id指令将公鑰複制到遠端主機。ssh-copy-id會将公鑰寫到遠端主機的 ~/ .ssh/authorized_key 檔案中
ssh-copy-id username@remoteipaddr
經過以上兩個步驟,以後再登入這個遠端主機就不用再輸入密碼了。
遠端機器至少下面兩個條件:
1) .ssh目錄的權限必須是700
2) .ssh/authorized_keys檔案權限必須是600
除了ssh-copy-id username@remoteipaddr 實作外還有比較麻煩點的公鑰複制實作scp和手動拷貝公鑰到遠端主機authorized_key檔案:
scp -p ~/.ssh/id_rsa.pub [email protected]:/root/.ssh/authorized_keys
手工複制粘貼的方式
将本地id_rsa.pub檔案的内容拷貝至遠端伺服器的~/.ssh/authorized_keys檔案中