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

相关推荐
KKKlucifer1 小时前
堡垒机高危命令拦截与操作审批流程的技术实现
大数据·网络·安全
头发那是一根不剩了1 小时前
Ubuntu 离线环境升级 OpenSSH 修复漏洞
linux·运维·ubuntu
014-code1 小时前
Vue 生命周期完全指南
前端·javascript·vue.js
冴羽yayujs1 小时前
资深前端都在用的 9 个调试偏方
前端·javascript·调试
Amumu121381 小时前
CSS移动端
前端·css·css3
别退1 小时前
WSL2安装Freesurfer
linux·运维·服务器
未来可期叶2 小时前
【软考网工】第一章 计算机网络概论:高频考点(OSI/TCP/IP+数据封装)
网络·笔记·网络协议·tcp/ip·计算机网络·软考·备考
KerwinChou_CN2 小时前
LangGraph 快速入门
服务器·网络·算法
lichenyang4532 小时前
组件设计模式与通信
前端·javascript·设计模式