1、使用root用戶登錄,進入到目錄/root/.ssh
2、執行命令:ssh-keygen -t rsa
一路回車,完成后會在目錄/root/.ssh下面生成文件 id_rsa和id_rsa.pub
3、將公鑰寫入文件authorized_keys:cat id_rsa.pub >> authorized_keys
4、重復1、2、3,直到要免密登錄的所有機器都生成了id_rsa和id_rsa.pub文件和authorized_keys
5、將其他機器的公鑰拷貝到第一台機器authorized_keys文件中:
ssh-copy-id -i ~/.ssh/id_rsa.pub root@ip
6、將第一台機器的authorized_keys復制到其他機器
scp /root/.ssh/authorized_keys ip:/root/.ssh/
提示報錯:Permission denied, please try again.
可能原因:
1、目錄或文件沒有寫權限(默認不會),解決:chmod 700 .ssh chmod 644 authorized_keys
2、ssh服務需要修改下配置,解決:
修改目標服務器的/etc/ssh/sshd_config中的PermitRootLogin 為 yes ,然后重啟ssh(systemctl restart sshd.service)
7、驗證(第一次需密碼)
ssh ip
注:上述實現了root用戶之間的免密操作,如果要實現其他用戶,則使用其他用戶登錄,進行上述操作,生成的密鑰文件會在用戶目錄下的.ssh下。
如果已經實現了一個用戶免密,要實現其他用戶免密,可以將實現免密的用戶下的.ssh目錄下的文件拷貝到其他用戶下即可。