使用密钥可以免密登录对应的服务器

一、单项免密

a登录b服务器,使用密钥连接

1、a下生成密钥

  1. ssh-keygen -t rsa
  2. 这时.ssh目录下会生成私钥和公钥的键值对id_rsaid_rsa.pub

2、a下把公钥发送给b

  1. scp /root/.ssh/id_rsa.pub root@192.168.8.12:/root/.ssh/authorized_keys
  2. chmod 600 /root/.ssh/authorized_keys

3、a下ssh连接测试

  1. ssh -l root 192.168.1.12

批量分发公钥

1、输入连接信息确认

  1. ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.8.78 "-o StrictHostKeyChecking=no"

2、第一次连接输入密码

  1. yum -y install sshpass
  2. sshpass -predhat ssh-copy-id -i /root/.ssh/id_rsa.pub root@192.168.8.78 "-o StrictHostKeyChecking=no"

3、远程服务器ssh端口号修改了

  1. 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服务器上

  1. 拷贝到:/root/.ssh/authorized_keys
  2. chmod 600 /root/.ssh/authorized_keys

3、修改Linux上的ssh配置文件

  1. vi /etc/ssh/sshd_config
  2. PasswordAuthentication no
  3. no 可以实现关闭密码登录 使用秘钥远程登录服务器