CentOS7 三节点ssh免密码登录
在此附上Xshell7连接虚拟机教程
正文开始
在Xshell上连接上我们已经建立好的虚拟机
①所有的虚拟机上(node1,node2,node3)都需要配置hosts 执行vi /etc/hosts命令
vi /etc/hosts
进入后按 a键 进入可编辑状态
注意:这里添加的各个节点的IP地址是你自己配置的IP地址,不要盲目抄我的
在末尾添加如下内容:
192.168.152.12 node1
192.168.152.13 node2
192.168.152.14 node3
添加好后按 esc键 退出编辑状态,执行 :wq! 命令强制保存并退出
:wq!
②为了方便区分每台主机,将每台主机得主机名修改一下。
在node1节点上执行
hostnamectl set-hostname node1(你要起的主机名,在这里第一台主机名我起的是node1)
hostnamectl set-hostname 你要起的主机名字
起好名字之后用 hostname命令查看,即可看到主机名已经改为node1
在node2节点上执行
hostnamectl set-hostname node2(你要起的主机名,在这里第二台主机名我起的是node2)
hostnamectl set-hostname 你要起的主机名字
起好名字之后用 hostname命令查看,即可看到主机名已经改为node2
在node3节点上执行
hostnamectl set-hostname node3(你要起的主机名,在这里第三台主机名我起的是node3)
hostnamectl set-hostname 你要起的主机名字
起好名字之后用 hostname命令查看,即可看到主机名已经改为node3
③查看服务器的域名映射是否添加成功,可以使用cat /etc/hosts命令查看。(记得三台都要看哦!)
④关闭各个服务器节点(node1,node2,node3)的防火墙。
执行systemctl stop firewalld.service命令
systemctl stop firewalld.service
查看防火墙当前状态: 执行firewall-cmd --state命令
firewall-cmd --state
禁止他们的防火墙开机启动 执行systemctl disable firewalld.service命令
systemctl disable firewalld.service
⑤安装ssh服务 执行yum -y install openssh-clients命令(只在node1安装)
yum -y install openssh-clients
⑥生成服务器密钥(后面是连按三次回车,三台机器均需要操作)在node1,node2和node3上生成密钥文件,包括公钥和私钥。
在==三台节点(node1,node2,node3)==上
执行ssh-keygen -t dsa -P ‘’ -f ~/.ssh/id_dsa命令
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
⑦配置公钥到authorized_keys文件
在node1节点上: 需要将本机的公钥追加到authorized_keys文件中,这样允许本机通过ssh的形式将公钥id_dsa.pub写入到authorized_keys文件
进入到.ssh文件目录下: 执行cd ~/.ssh命令
cd ~/.ssh
执行cat id_dsa.pub >> authorized_keys命令(将node1的公钥放到authorized_keys中)
cat id_dsa.pub >> authorized_keys
在node2节点上: 将公钥id_dsa.pub写入到authorized_keys1文件
进入到.ssh文件目录下: 执行cd ~/.ssh命令
cd ~/.ssh
执行cat id_dsa.pub >> authorized_keys1命令(将node2的公钥放到authorized_keys1中)
cat id_dsa.pub >> authorized_keys1
将authorized_keys1文件拷贝到node1节点中去:
执行scp authorized_keys1 root@192.168.152.12:~/.ssh/ 命令
scp authorized_keys1 root@192.168.152.12:~/.ssh/
(注意,192.168.152.12是我本人设置的我的node1的ip地址)
在node3节点上: 将公钥id_dsa.pub写入到authorized_keys2文件
进入到.ssh文件目录下: 执行cd ~/.ssh命令
cd ~/.ssh
执行cat id_dsa.pub >> authorized_keys2命令(将node3的公钥放到authorized_keys2中)
cat id_dsa.pub >> authorized_keys2
将authorized_keys2文件拷贝到node1节点中去:
执行scp authorized_keys2 root@192.168.152.12:~/.ssh/ 命令
scp authorized_keys2 root@192.168.152.12:~/.ssh/
(注意,192.168.152.12是我本人设置的我的node1的ip地址)
⑧切换到node1节点
将node2和node3的authorized_keys1,authorized_keys2写入到node1的authorized_keys文件中
在node1节点上执行cat authorized_keys1 >> authorized_keys命令
cat authorized_keys1 >> authorized_keys
在node1节点上执行cat authorized_keys2 >> authorized_keys命令
cat authorized_keys2 >> authorized_keys
查看node1的 authorized_keys文件内容: 执行cat authorized_keys命令
cat authorized_keys
⑨将authorized_keys文件拷贝到node2,node3节点的/root/.ssh/目录下。
在node1节点上执行scp authorized_keys root@192.168.152.13:~/.ssh/ 命令
scp authorized_keys root@192.168.152.13:~/.ssh/
在node1节点上执行scp authorized_keys root@192.168.152.14:~/.ssh/ 命令
scp authorized_keys root@192.168.152.14:~/.ssh/
(注意,192.168.152.13和192.168.152.14是我本人设置的我的node2和node3的ip地址)
⑩测试免密码登录
在node1节点上:
免密码登录node2节点: 执行ssh node2命令
登出node2: 执行exit命令
免密码登录node3节点: 执行ssh node3命令
登出node3: 执行exit命令
在node2节点上:
免密码登录node1节点: 执行ssh node1命令
登出node1: 执行exit命令
免密码登录node3节点: 执行ssh node3命令
登出node3: 执行exit命令
在node3节点上:
免密码登录node1节点: 执行ssh node1命令
登出node1: 执行exit命令
免密码登录node2节点: 执行ssh node2命令
登出node2: 执行exit命令
至此设置免密登陆成功!
相关文章
- 学会Python开发的第一步:写一个桌面小程序
- 深入浅出PyTorch(一)之mac安装
- mac 安装SVN报错Error: Command failed with exit 128: git
- Mac如何安装telnet命令
- MacOS安装python,报错“zsh: command not found: python”【已解决】
- python安装教程(mac版)
- 【Mac版】Python安装教程--Python安装步骤
- 云小课|MRS基础操作之配置DataNode容量均衡
- GaussDB(DWS)迁移:一种执行高效的TereData的marco迁移方案
- DataX插件二次开发指南
- 对window.onload()的理解
- CloudCanal对Online DDL 工具 GH-OST 和 PT-OSC 的支持
- 记录--千万别让 console.log 上生产!用 Performance 和 Memory 告诉你为什么
- element-ui 对话框dialog里使用echarts,报错'dom没有获取到'?
- 闭包是什么,有什么用途
- 事务的ACID特性
- yarn和npm的区别
- 事件循环Event Loop
- StoneDB 读、写操作的执行过程
- 节流VS防抖