CentOS 7 集群 SSH 免密与主机名配置文档

一、文档概述

本文档记录 master + slave1 双节点集群的主机名配置SSH 双向免密登录完整流程,用于实现节点间无密码访问与清晰的主机名标识。


二、主机名配置(节点更名)

2.1 核心目标

将 master 节点主机名从 localhost 改为 master,slave1 节点改为 slave1,使终端提示符显示为 root@master / root@slave1

2.2 配置步骤

2.2.1 master 节点主机名配置
  1. 永久修改主机名

    复制代码

    hostnamectl set-hostname master

    1. 作用:将系统静态主机名永久修改为 master,重启后仍生效。

    2. 原理:修改 /etc/hostname 文件,系统启动时读取该文件作为主机名。

  2. 验证主机名

    复制代码

    hostname # 查看当前主机名 hostnamectl status | grep "Static hostname" # 查看永久配置

    复制代码

    master Static hostname: master

  3. 刷新终端提示符

已打开的会话不会自动更新提示符,需执行以下命令之一:

复制代码

exec bash # 重启当前 shell,立即刷新提示符(推荐) # 或 exit && ssh root@master # 退出后重新登录,新会话显示新主机名

  1. 最终效果

    复制代码

    [root@master ~]#

2.2.2 slave1 节点主机名配置
  1. 永久修改主机名

    复制代码

    hostnamectl set-hostname slave1

  2. 验证主机名

    复制代码

    hostname hostnamectl status | grep "Static hostname"

    复制代码

    slave1 Static hostname: slave1

  3. 刷新终端提示符

    复制代码

    exec bash

  4. 最终效果

    复制代码

    [root@slave1 ~]#

2.3 hosts 映射配置

master 和 slave1 节点 均执行以下操作,确保节点间能通过主机名解析:

复制代码

vi /etc/hosts

添加完整映射:

复制代码

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.56.110 master 192.168.56.111 slave1


三、SSH 双向免密登录配置

3.1 核心目标

实现 master ↔ slave1 节点间无密码 SSH 登录,避免集群运维时重复输入密码。

3.2 master → slave1 单向免密配置

3.2.1 在 master 节点生成密钥对
复制代码

ssh-keygen -t rsa

  • 一路回车,生成 RSA 密钥对:

    • 私钥:/root/.ssh/id_rsa

    • 公钥:/root/.ssh/id_rsa.pub

3.2.2 分发公钥到 slave1
复制代码

ssh-copy-id root@slave1

  • 输入 yes 确认主机真实性,再输入 slave1 的 root 密码,完成公钥分发。

  • ✅ 成功提示:Number of key(s) added: 1

3.2.3 验证免密登录
复制代码

ssh root@slave1

  • 无需输入密码,直接登录 slave1,提示符变为 [root@slave1 ~]#

3.3 slave1 → master 单向免密配置

3.3.1 在 slave1 节点生成密钥对
复制代码

ssh-keygen -t rsa

3.3.2 分发公钥到 master
复制代码

ssh-copy-id root@master

  • 输入 yes 确认,再输入 master 的 root 密码,完成公钥分发。

  • ✅ 成功提示:Number of key(s) added: 1

3.3.3 验证免密登录
复制代码

ssh root@master

  • 无需输入密码,直接登录 master,提示符变为 [root@master ~]#(主机名修改后)。

3.4 双向免密验证

|-----------------|-------------------|-----------------------------|
| 测试方向 | 命令 | 预期结果 |
| master → slave1 | ssh root@slave1 | 免密登录,提示符 [root@slave1 ~]# |
| slave1 → master | ssh root@master | 免密登录,提示符 [root@master ~]# |


四、常见问题与排查

4.1 SSH 登录后提示符未显示 root@master

  • 原因:主机名未永久修改,或当前会话未刷新提示符。

  • 解决

    • 永久修改:hostnamectl set-hostname master

    • 刷新会话:exec bash 或重新登录。

4.2 ssh-copy-id 提示 Permission denied

  • 原因:输入的目标节点 root 密码错误。

  • 解决:重新输入正确密码,或检查目标节点是否允许 root 登录。

4.3 节点间 ping 不通

  • 原因:防火墙/SELinux 未关闭,或 hosts 映射错误。

  • 解决

    复制代码

    systemctl stop firewalld && systemctl disable firewalld setenforce 0 sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config


五、文档版本信息

|------|----------------------------------------------|
| 项目 | 内容 |
| 文档版本 | V1.0 |
| 适用环境 | VirtualBox + CentOS 7 |
| 最后更新 | 2026-03-12 |
| 验证结果 | ✅ 主机名配置生效<br>✅ SSH 双向免密登录正常<br>✅ 节点间互通正常 |

相关推荐
JiaWen技术圈3 分钟前
nf_tables 架构深度详解(内核级完整架构)
linux·服务器·安全·运维开发
Asmewill5 分钟前
MCP学习笔记
前端
小小19927 分钟前
vue 单页面请求
开发语言·前端·javascript
不会敲代码110 分钟前
从 URL 到页面展示,还有哪些你忽略的底层细节?(DNS 与传输篇)
前端·面试
志栋智能13 分钟前
跨越人机边界:超自动化巡检如何重塑工作流程?
运维·网络·人工智能·安全·自动化
XX風15 分钟前
三维点云处理环境相关-ubuntu安装numpy、open3d
linux·ubuntu·numpy
仍然.16 分钟前
网络编程(一)---传输层协议和UDP数据报套接字编程
网络·网络协议·udp
zzipeng17 分钟前
IMX6ULL CAN通讯应用学习
linux·运维·网络
无心使然17 分钟前
Openlayers调用ArcGis要素服务之一 ——要素查询 (/query)
前端·javascript·数据可视化
ZC跨境爬虫18 分钟前
跟着 MDN 学 HTML day_1:(全套原生Input+表单结构拆解)
前端·css·ui·html