问题描述:主机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 root@"主机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 root@"主机B的IP"