ssh免密登录需要借助公钥与私钥。linux通过ssh-keygen生成公钥/私钥对。
登陆的机器有私钥,被登陆的机器要有登录机器的公钥,这个公钥/私钥对一般在私钥宿主机产生(登陆机器)
需求:机器A(10.21.144.111),通过ssh免密码登录机器B(10.21.144.110)?
1、在机器A中生成 公钥/私钥对
[root@A]#ssh-keygen
三个回车,该命令将在/root/.ssh目录下面产生一对密钥id_rsa和id_rsa.pub
[root@A home]# cd /root/.ssh/
[root@A .ssh]# ll
总用量 12
-rw------- 1 root root 1679 6月 11 15:31 id_rsa
-rw-r--r-- 1 root root 395 6月 11 15:31 id_rsa.pub
-rw-r--r--. 1 root root 175 2月 18 09:45 known_hosts
2、把机器A下的/root/.ssh/id_rsa.pub公钥复制到机器B中的 /root/.ssh/authorized_keys文件里,先要在B机上创建好 /root/.ssh 这个目录,用scp复制。
[root@A .ssh]#scp /root/.ssh/id_rsa.pub root@10.21.144.110:/root/.ssh/authorized_keys
3、机器A上修改/root/.ssh/authorized_keys的权限600
chmod 600 /root/.ssh/authorized_keys
4、机器A登录机器B
[root@A .ssh]# ssh 10.21.144.110
Last login: Tue Jun 11 16:43:55 2019 from testzq.com
[root@B ~]#