二、公鑰登錄
每次登錄遠程主機都需要輸入密碼是很不方便的,如果想要省去這一步驟,可以利用密鑰對進行連接,還可以提高安全性。
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 root@192.168.91.135:/root/.ssh/authorized_keys
手工復制粘貼的方式
將本地id_rsa.pub文件的內容拷貝至遠程服務器的~/.ssh/authorized_keys文件中
