在三台Centos虚拟机分主从机上设置SSH免密码登录

时间:2024-05-21 09:53:24

1、本机ssh免密码登录

检查是否安装SSH,
不清楚是否有没有安装SSH的可以使用ssh -version进行验证,如果出现与下图相似的信息就代表已经安装了SSH了
在三台Centos虚拟机分主从机上设置SSH免密码登录
输入ssh localhost,验证在为配置前是无法通过ssh连接本机的
在三台Centos虚拟机分主从机上设置SSH免密码登录
在用户目录下(笔者使用的是root用户,所以是/root目录,普通用户的文件夹是在/home,目录下与用户名相同的目录)ls -a ,可以看见有一个隐藏的文件夹.ssh,如果没有的话可以自行创建。然后输入一下命令,
ssh-****** -t dsa -P ” -f /root/.ssh/id_dsa
命令的含义(注意区分大小写):
ssh-******代表生成**;-
t表示生成**的类型;
-P提供密语;
-f指定生成的文件.
这个命令执行完毕后会在.ssh文件夹下生成两个文件,分别是id_dsa、id_dsa.pub,这是SSH的一对私钥和公钥,就像是钥匙和锁。

在三台Centos虚拟机分主从机上设置SSH免密码登录
将id_dsa.pub追加到授权的key中,键入一下命令:
cat /root/.ssh/id_dsa.pub >> /root/.ssh/authorized_keys
免密码登录本机就配置完成了,下面再次输入ssh localhost进行验证,出现下图所示信息代表配置成功了
在三台Centos虚拟机分主从机上设置SSH免密码登录

2、实现主机与从机无密码访问

设置主机为xxx01 从机slave为另外两台xxx02和xxx03
三台机器均进行配置

修改hostname

命令 vi /etc/hostname

修改hosts文件

命令 vi /etc/hosts
加入本机与另外两台机器的IP地址和对应的主机名称
xxx.xxx.xxx.xxx xxx01
xxx.xxx.xxx.xxx xxx02
xxx.xxx.xxx.xxx xxxx03
注:涉及vim编辑器使用,暂时只用了insert,esc,:wq,:q!命令

进行PING命令,尝试不以IP地址是否可以ping通

xxx01的命令:
ping xxx02
ping xxx03

xxx02命令:
ping xxx01
ping xxx03

xxx03命令:
ping xxx01
ping xxx02

3、将两台从机的公钥放置到主机xxx01的/root/.ssh/文件夹下

命令:
scp id_dsa.pub [email protected]:/root/.ssh/id_dsa.pub02
解释:
id_dsa.pub是当前目录下的从机生成的公钥
[email protected]:/root/.ssh/id_dsa.pub02是主机存储该公钥的路径, id_dsa.pub02是文件名例子: slave xxx02
在三台Centos虚拟机分主从机上设置SSH免密码登录
需要注意的是,要在从机本机的/root/.ssh/文件夹下使用这个命令,否则会报不存在这个文件或文件夹的错误

4、在主机上将两个从机的公钥信息存储到authorized_keys

路径:/root/.ssh/
查看传递过来的文件名称
在三台Centos虚拟机分主从机上设置SSH免密码登录
命令:
cat id_rsa.pub02 >> authorized_keys
cat id_rsa.pub_03 >> authorized_keys

5、将authorized_keyscopy到2台从机(/root/.ssh)

命令:
scp authorized_keys [email protected]:~/roort/ssh/
可以去对应的从机查看是否复制过来了
在三台Centos虚拟机分主从机上设置SSH免密码登录

6、将三台机器的~/.ssh/文件夹权限改为700, authorized_keys权限改为600

命令:
chmod 700 ~/.ssh
chmod 600 ~/.ssh/authorized_keys

7、连接ssh

命令:
主机 ssh slaveName
从机 ssh masterName

至此,主机可以连接上两台从机,而从机也可以各自连接上主机
通过exit命令退出

参考资料:

http://www.linuxidc.com/Linux/2016-07/133508.htm
http://blog.****.net/stark_summer/article/details/42393053