本例中A主机要免密访问B主机

主要原理是A主机生成私钥和公钥,并将公钥放到B主机的指定位置,可实现A主机对B主机的免密访问

1.在A主机创建公钥 ,私钥 

输入命令:

ssh-keygen -t rsa

中间出现所有提示不用管,直接回车

2.查看生成的秘钥

 进入 /root/.ssh 文件夹

可有看到如下的文件

设置.ssh文件夹权限为700

chmod 700 -R /root/.ssh/

3.修改A主机配置,开启免密登录

vi /etc/ssh/sshd_config

打开如下位置的注释

4.重启服务

systemctl restart sshd

5.复制公钥id_rsa.pub到B主机并追加到/root/.ssh/authorized_keys 文件

例如先将公钥复制到B主机的/root/.ssh/目录,再执行如下命令完成追加(不影响其他的授权)

cat ./id_rsa.pub >> ./authorized_keys

也可以使用scp命令远程追加到B主机的/root/.ssh/authorized_keys 文件,命令如下

scp -p ~/.ssh/id_rsa.pub root@192.168.0.123:/root/.ssh/authorized_keys

追加后登录B主机修改/root/.ssh/authorized_keys文件权限为600

chmod 600 /root/.ssh/authorized_keys

6.然后输入远程命令可以在A主机免密登录B主机了

ssh root@192.168.0.123