1、准备工作
操作系统版本:UnionTech OS Server 20 1050e
内核版本:Linux 4.19.90-2201.4.0.0135.up1.uel20.x86_64 x86_64
使用root用户分别修改每台机器的hosts,添加每台机器所对应的IP和主机名
vi /etc/hosts
添加如下内容
172.16.100.101 server1
172.16.100.102 server2
2.使用ssh-keygen 生成一个公私钥对(两台机器)
生成公钥及私钥文件
ssh-keygen -t rsa
在当前目录下,会新生成两个文件:
id_rsa.pub
id_rsa
3.上传公钥到目标机器
ssh-copy-id hduser@192.168.157.146
ssh-copy-id hduser@Cloud12
注意:(@前边是接受公钥机器的用户名,后边是接受放的ip,因为配置了映射所以ip可以用主机名代替)
查看远程从节点主机上是否接收到 authorized_keys文件
这个时候Cloud10的公钥文件内容会追加写入到Cloud11的 .ssh/authorized_keys
文件中查看Cloud11下的authorized_keys文件与Cloud10下的id_rsa.pub中内容是一样的,如下图所示
重启 SSH服务命令使其生效:(3台机器都要重启)
sudo service sshd restart
另外我们要注意,
.ssh目录的权限为700,其下文件authorized_keys和私钥的权限为600。否则会因为权限问题导致无法免密码登录。我们可以看到登陆后会有known_hosts文件生成。
chmod -R 700 .ssh/
sudo chmod 600 .ssh/authorized_keys
4.测试免密登录
使用IP免密登录(用户名相同时,ssh+主机名;如果不同,登录方式就是 ssh+用户名@IP地址)
ssh Cloud10
ssh Cloud11
ssh Cloud12