记录:316

场景:在CentOS 7.9操作系统上,配置SSH免密登录,以满足集群中应用的控制脚本能够依赖SSH来执行针对整个集群的操作。

版本:

操作系统:CentOS 7.9

1.配置SSH免密登录原因

(1)规划安装和部署的组件在运行时,需要依赖SSH来执行针对整个集群的操作。比如,在Hadoop集群中,Hadoop控制脚本依赖SSH来执行针对整个集群的操作。

(2)在运维部署时,无需重复输入密码和打开多个对话框,使用scp等工具在集群之间传输文件无需频繁输入密码。

2.本例集群配置

集群机器规划。

centos7 ssh绵密登陆 centos7配置ssh免密登录_ssh-keygen

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

centos7 ssh绵密登陆 centos7配置ssh免密登录_ssh-keygen_02

5.3.3使用scp命令验证

文件传输命令:scp /etc/yum.repos.d/* root@app162:/etc/yum.repos.d/

centos7 ssh绵密登陆 centos7配置ssh免密登录_ssh-keygen_03

5.4免密登录指令示例

(1)公钥和秘钥生成指令:ssh-keygen -t rsa

centos7 ssh绵密登陆 centos7配置ssh免密登录_运维_04

 (2)拷贝公钥指令:ssh-copy-id app162

centos7 ssh绵密登陆 centos7配置ssh免密登录_ssh-keygen_05

(3)在.ssh目录下生成文件列表

centos7 ssh绵密登陆 centos7配置ssh免密登录_ssh-keygen_06

6.配置SSH免密登录(普通用户)

本例普通用户:learn。

配置免密操作,生成免密配置方式和root用户一样;不一样地方是,生成文件在不同目录。

learn用户的.ssh目录:/home/learn/.ssh

以上,感谢。

2022年11月14日