使用密钥可以免密登录对应的服务器
一、单项免密
a登录b服务器,使用密钥连接
1、a下生成密钥
ssh-keygen -t rsa
这时.ssh目录下会生成私钥和公钥的键值对id_rsa,id_rsa.pub
2、a下把公钥发送给b
scp /root/.ssh/id_rsa.pub root@192.168.8.12:/root/.ssh/authorized_keys
chmod 600 /root/.ssh/authorized_keys
3、a下ssh连接测试
ssh -l root 192.168.1.12
批量分发公钥
1、输入连接信息确认
ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.8.78 "-o StrictHostKeyChecking=no"
2、第一次连接输入密码
yum -y install sshpass
sshpass -predhat ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.8.78 "-o StrictHostKeyChecking=no"
3、远程服务器ssh端口号修改了
sshpass -predhat ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.8.78 -p 22 "-o StrictHostKeyChecking=no"
二、双向免密
1、在单项的基础上b生成一份给a即可
三、windows下xshell免密
1、xhell生成密钥
2、公钥复制到Linux服务器上
拷贝到:/root/.ssh/authorized_keys
chmod 600 /root/.ssh/authorized_keys
3、修改Linux上的ssh配置文件
vi /etc/ssh/sshd_config
PasswordAuthentication no
no 可以实现关闭密码登录 使用秘钥远程登录服务器