SSH 配置多台免密登录
SSH 安全级别
SSH提供两种级别的安全验证
第一种级别(基于口令的安全验证)
只要你知道自己帐号和口令,就可以登录到远程主机。所有传输的数据都会被加密,但是不能保证你正在连接的服务器就是你想连接的服务器。可能会有别的服务器在冒充真正的服务器,也就是受到“中间人”这种方式的攻击。
第二种级别(基于密匙的安全验证)
需要依靠密匙,也就是你必须为自己创建一对密匙,并把公用密匙放在需要访问的服务器上。如果你要连接到SSH服务器上,客户端软件就会向服务器发出请求,请求用你的密匙进行安全验证。
ssh 基于秘钥实现免密登录
配置 hostname 与 IP 映射
各每一台机器设置 hostname
# 主节点
hostnamectl set-hostname master
# 副节点
hostnamectl set-hostname slave1
# 副节点
hostnamectl set-hostname slave2
在三台机器中都添加上 hosts 映射vim /etc/hosts
192.168.139.121 master
192.168.139.122 slave1
192.168.139.123 slave2
配置公钥与私钥
-
在三台机器器执行行以下命令,生成公钥与私钥
ssh-keygen -t rsa
在 master 和 slave1 和 slave2 上面都要执行,产生公钥和私钥
PS:如果提示输入,连续按三次 Enter 即可
-
将 slave1 和 slave2 的公钥拷贝到 master
在 slave1 和 slave2 再到 master 上执行ssh-copy-id master
将公钥拷贝到 master 上面去
执行完毕后在 ~/.ssh目录下会产生一个 authorized_keys 文件
如果有三台机器的 id 则成功
- 再将 master 的公钥分发给 slave1 和 slave2
cd ~/.ssh
scp authorized_keys slave1:$PWD
scp authorized_keys slave2:$PWD
执行完毕后子节点在 ~/.ssh目录下会有 authorized_keys 文件
配置完成
配置完成,尝试 SSH 免密登录!