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>✅ 节点间互通正常 |

相关推荐
工控丫丫1 小时前
帆软看板中经常使用的公式函数及经常搭的组合
前端·javascript·数据库
xiaoye-duck1 小时前
《C++ 项目:手写大模型接入 SDK》DeepSeek接口设计(下):流式响应实现和测试
开发语言·网络·c++·语言模型
jerrywus2 小时前
我用 GPT-6.1-sol 做了台会讲解的 3D 售货机:60 罐饮料,一口没喝上
前端·agent·claude
其实防守也摸鱼2 小时前
信创安全竞赛知识总结与题库
大数据·网络·人工智能·算法·安全·php
GeW2 小时前
国产化替代进入深水区之后Linux 与数据库为什么必须走向重建
linux
万联WANFLOW2 小时前
异地厂区视频监控远程运维:从组网到安全的实施要点
运维·网络·安全·企业组网·sdwan
孟陬3 小时前
Foobar 技术周刊#159:当看不懂代码时,如何高效排障调试。脏页陷阱:一条只读查询,写入数 TB 数据。推测解码:大模型加速利器
前端·人工智能·后端
衍玊3 小时前
深入剖析 TCP/IP 网络通信原理与内核实现
服务器·网络·tcp/ip
Zhao-Jichao3 小时前
AI Prompting for Everyone 课程笔记 - P17 图像生成 Imaging Generation
前端
.Bryce.3 小时前
从零到一开发技术名词大全:从需求分析到 AI Agent 工程
java·网络·人工智能·agent·需求分析·agent评测