服务器之间配置用户免密登录(Linux Centos 7)
ssh 免密
前提准备
192.168.1.1 node1
192.168.1.2 node2
服务器检查
-
机器已经安装开启ssh。
检查是否安装命令
rpm -qa | grep ssh
安装命令
yum install openssh-server
-
/etc/hostname
中配置hostname直接在文件中添加行node1或node2
-
/etc/hosts
中配置ip hostname一条记录增加一行
192.168.1.1 node1 192.168.1.2 node2
配置秘钥
-
登录root用户
-
生成秘钥
ssh-keygen -t rsa
,按提示,直接回车就好,采用默认选项。 -
确认秘钥文件
在目录
~/.ssh/
下,有以下文件,authorized_keys
id_rsa
id_rsa.pub
known_hosts
cd ~/.ssh/ ls
-
将node2的id_rsa.pub文件远程发送到node1,并将内容增加到node1的authorized_keys文件中。此时 scp命令还是需要密码的
scp ~/.ssh/id_rsa.pub root@192.168.1.1:~/.ssh/2.id.rsa.pub
cat ~/.ssh/2.id.rsa.pub >> ~/.ssh/authorized_keys
此时node2已经可以免密ssh登录node1
-
将node1的id_rsa.pub文件远程发送到node2,并将内容增加到node2的authorized_keys文件中。此时 scp命令还是需要密码的
scp ~/.ssh/id_rsa.pub root@192.168.1.2:~/.ssh/1.id.rsa.pub
cat ~/.ssh/1.id.rsa.pub >> ~/.ssh/authorized_keys
此时node1已经可以免密ssh登录node2
-
如果是使用的非root用户
以上2~5步骤需要在非root用户下执行,且对应文件也在非root用户目录下。同时需要确认用户目录的权限,
~/.ssh
权限为700,~/.ssh/authorized_keys
的权限为600.chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys