记录:316
场景:在CentOS 7.9操作系统上,配置SSH免密登录,以满足集群中应用的控制脚本能够依赖SSH来执行针对整个集群的操作。
版本:
操作系统:CentOS 7.9
1.配置SSH免密登录原因
(1)规划安装和部署的组件在运行时,需要依赖SSH来执行针对整个集群的操作。比如,在Hadoop集群中,Hadoop控制脚本依赖SSH来执行针对整个集群的操作。
(2)在运维部署时,无需重复输入密码和打开多个对话框,使用scp等工具在集群之间传输文件无需频繁输入密码。
2.本例集群配置
集群机器规划。
3.设置主机名称
B161机器:hostnamectl set-hostname app161
B162机器:hostnamectl set-hostname app162
B163机器:hostnamectl set-hostname app163
B164机器:hostnamectl set-hostname app164
B165机器:hostnamectl set-hostname app165
4.设置hosts文件域名
每台机器都得设置。
4.1查看配置
查看指令:cat /etc/hosts
4.2新增配置
修改指令:vi /etc/hosts
修改内容:
192.168.19.161 app161
192.168.19.162 app162
192.168.19.163 app163
192.168.19.164 app164
192.168.19.165 app165
5.配置SSH免密登录(root用户)
免密要求:服务器双向免密登录。
5.1配置app161的免密登录
在app161主机操作。
5.1.1生成公钥和秘钥
公钥和秘钥生成指令:ssh-keygen -t rsa
连续3次回车。
5.1.2配置免密登录其它机器
配置主机app161免密到其它机器,包括主机本身。
需输入一次密码。
免密到app161:ssh-copy-id app161
免密到app162:ssh-copy-id app162
免密到app163:ssh-copy-id app163
免密到app164:ssh-copy-id app164
免密到app165:ssh-copy-id app165
5.1.3公钥和秘钥信息说明
5.1.3.1公钥和秘钥生成目录信息
公钥和秘钥生成目录:/root/.ssh/
秘钥文件:id_rsa;
公钥文件:id_rsa.pub。
5.1.3.2目标机器生成authorized_keys
app161免密登录app162,则在app162生成authorized_keys文件信息。
目录:cd /root/.ssh/
文件名:authorized_keys
5.2配置其它机器的免密登录
按照配置app161的免密登录,配置app162、app163、app164、app165免密登录。
5.3验证免密登录
5.3.1查看主机app161可以免密登录的机器
命令:cat /root/.ssh/authorized_keys
可用免密登录的机器,都在authorized_keys中有一条记录。
ssh-rsa AAAAB3..省略字符..cuz5nn root@app165
解析:ssh-rsa,命令开头;AAAAB3..省略字符..cuz5nn,是公钥;root@app165,root用户可以登录到主机app165。
5.3.2主机app161免密登录的app165
登录指令:ssh root@app162
退出指令:exit
5.3.3使用scp命令验证
文件传输命令:scp /etc/yum.repos.d/* root@app162:/etc/yum.repos.d/
5.4免密登录指令示例
(1)公钥和秘钥生成指令:ssh-keygen -t rsa
(2)拷贝公钥指令:ssh-copy-id app162
(3)在.ssh目录下生成文件列表
6.配置SSH免密登录(普通用户)
本例普通用户:learn。
配置免密操作,生成免密配置方式和root用户一样;不一样地方是,生成文件在不同目录。
learn用户的.ssh目录:/home/learn/.ssh
以上,感谢。
2022年11月14日