解決ssh配置無密碼登陸後再次出現請求輸入密碼的情況
主機ip:192.168.163.100(hostname: node0)
ssh無密碼登陸的遠程機ip:192.168.163.101(hostname: node1)
首先要修改主機 和ssh連接到的遠程機 的配置文件:
vi /etc/ssh/sshd_config
(要確保這些字符前無注釋符號“#”)
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
PasswordAuthentication yes
PeimitEmptyPasswords yes
1.在本地機上輸入命令: ssh-keygen -t rsa
2.接著一路按回車,默認情況下ssh生成的公密鑰會被存儲到
/root/.ssh
這個文件夾下,分別為id_rsa 和id_rsa.pub
3.在本地機上創建文件 authorized_keys
touch /root/.ssh/authorized
並將公鑰追加到authorized_keys文件中:
cat id_rsa.pub >> authorized_keys
4.修改文件夾/root/.ssh的權限:
(本地機和遠程機都要修改)
chmod 700 /root/.ssh
5.修改文件的屬性:
chmod 600 /root/.ssh/authorized_keys
6.將公鑰復制到ip地址為192.168.163.101的遠程機上:
ssh-copy-id -i /root/.ssh/id_rsa/pub [email protected]
筆者在輸入命令時已經在遠程主機上創建了文件夾及文件如下:
/root/.ssh/authorized_keys
並且,已經按上文修改了權限/.ssh (700) /.ssh/authorized(600)
(實踐證明在傳送公鑰時,這個命令好於scp命令 )
7.在本地機上執行命令:
ssh-add /root/.ssh/id_rsa
這個是為了將公鑰添加進來。
8.重新啟動ssh服務:
service sshd restart
9. 在本地主機上輸入:
ssh node1(回車)
即可登錄到遠程主機上了。
ps:文件夾路徑或是文件名根據個人的配置而有所不同,
需要根據具體情況進行更改。
不對文件夾及文件修改權限和沒有執行ssh-add命令
都會引起設置之後遠程登陸仍需要輸入密碼的情況。
當然,也要注意對配置文件進行設置及修改。
good luck ~