SSH免密登錄(並且免yes交互)
問題描述:主機A使用ssh協議遠程主機B,默認會開啟口令認證,即輸入主機B對應用戶的登錄密碼,並且第一次登錄時,主機A需驗證是否接受來自主機B的公鑰,輸入"yes/no"完成交互。實現ssh免密登錄和免yes交互可提高服務器管理效率。
實現思路:1. 主機A創建密鑰對id_rsa,id_rsa.pub,並將公鑰id_rsa.pub上傳至主機B,保存為/root/.ssh/authorized_keys文件;
2. 修改主機B的sshd服務配置文件/etc/ssh/sshd_config,保證開啟密鑰驗證;
3. 修改主機A的配置文件/etc/ssh/ssh_config,關閉ssh公鑰檢查,實現免yes交互。
配置步驟:
1.主機A操作:
#ssh-keygen -t rsa (一路回車,將生成私鑰與公鑰文件,保存在/root/.ssh/目錄)
#scp /root/.ssh/id.rsa.pub [email protected]"主機B的IP":/root/.ssh/authorized_keys
#vim /etc/ssh/ssh_config
StrictHostKeyChecking no (關閉ssh公鑰檢查)
2.主機B操作:
#vim /etc/ssh/sshd_config
PubkeyAuthentication yes (開啟密鑰驗證)
AuthorizedKeysFile .ssh/authorized_keys (公鑰所在路徑)
#systemctl restart sshd
驗證配置:
主機A:
#ssh [email protected]"主機B的IP"
SSH免密登錄(並且免yes交互)