一、环境

假若有3台服务器node1 node2 node3
在sshd_config文件中打开RSA非对称密钥验证

vi /etc/ssh/sshd_config
去掉注释以下两行注释
#RSAAuthentication yes   有些版本的服务器可能没有这一行
#PubkeyAuthentication yes
二、设置免密登录
1、生成秘钥对

所有主机都执行

ssh-keygen -t rsa

生成key,不用输入密码,一直回车,生成密钥对放在 ~/.ssh 目录(ls -al可查看)

2、主机node1执行

id_rsa.pub是公钥文件

cd ~/.ssh 进入到.ssh目录
#将id_rsa.pub文件内容重定向到authorized_keys文件
cat id_rsa.pub >> authorized_keys
3、主机node2与node3执行
node2执行:scp -r authorized_keys root@node1:~/.ssh/id_rsa.pub_2
node3执行:scp -r authorized_keys root@node1:~/.ssh/id_rsa.pub_3
4、主机node1执行

将node2和node3的公钥追加到authorized_keys文件中

cat id_id_rsa.pub_2 >> authorized_keys
cat id_id_rsa.pub_3 >> authorized_keys

目前authorized_keys中有了三个主机的公钥
将authorized_keys文件复制给其他主机

cp -r authorized_keys root@node2:~/.ssh/authorized_keys
cp -r authorized_keys root@node3:~/.ssh/authorized_keys
三、测试

执行ssh将不再需要密码

ssh node2
ssh node3
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐