虚拟机之间配置免密登录(Centos)

环境:三台虚拟机node1 node2 node3

确保三台虚拟机的/etc/hosts文件的配置都有有IP与名称的对应,如下:

步骤 1:在所有节点生成 SSH 密钥对

分别在 node1、node2、node3 上执行以下命令,生成无密码的 RSA 密钥对(全程按回车即可,不要输入额外密码):

bash 复制代码
ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa

执行后会在 ~/.ssh/ 目录下生成两个文件:
id_rsa:私钥,仅保留在当前节点,不可外泄
id_rsa.pub:公钥,需分发到其他所有节点。

步骤 2:合并所有公钥到一个授权文件

推荐用 "合并后分发" 的方式,仅需输入两次密码,比逐个复制更高效,以 node1 为操作节点举例:

1.在 node1 上合并公钥(在node1中会生成一个~。ssh/authorized_keys文件):

bash 复制代码
# 先将 node1 自身的公钥写入授权文件
cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys
# 从 node2 复制公钥到 node1 的授权文件(输入 node2 的登录密码)
ssh node2 "cat ~/.ssh/id_rsa.pub" >> ~/.ssh/authorized_keys
# 从 node3 复制公钥到 node1 的授权文件(输入 node3 的登录密码)
ssh node3 "cat ~/.ssh/id_rsa.pub" >> ~/.ssh/authorized_keys

2.将合并好的授权文件分发到 node2 和 node3:

bash 复制代码
# 分发到 node2(输入 node2 密码)
scp ~/.ssh/authorized_keys node2:~/.ssh/
# 分发到 node3(输入 node3 密码)
scp ~/.ssh/authorized_keys node3:~/.ssh/

步骤 3:修复文件权限(必须执行)

SSH 对文件权限要求严格,权限过宽会导致免密登录失败,需在所有三个节点 上执行以下命令:

bash 复制代码
# 限制 .ssh 目录权限为仅当前用户可读写执行
chmod 700 ~/.ssh
# 限制授权文件权限为仅当前用户可读写
chmod 600 ~/.ssh/authorized_keys

步骤 4:测试免密登录

在任意节点执行 SSH 命令测试,例如:

在 node1 测试登录 node2:ssh node2

在 node2 测试登录 node3:ssh node3

在 node3 测试登录 node1:ssh node1

若无需输入密码直接进入目标节点的命令行,说明配置成功。

相关推荐
小成202303202658 小时前
Linux高级02
linux·开发语言
mounter6258 小时前
【硬核前沿】CXL 深度解析:重塑数据中心架构的“高速公路”,Linux 内核如何应对挑战?-- CXL 协议详解与 LSF/MM 最新动态
linux·服务器·网络·架构·kernel
++==8 小时前
Linux 进程间通信与线程同步技术详解:IPC 机制、线程 API、同步工具与经典同步问题
linux
特长腿特长8 小时前
centos、ubantu系列机的用户和用户组的结构是什么?具体怎么配置?用户组权限怎么使用?这篇文章持续更新,帮助你复习linux的基础知识
linux·运维·centos
zzzyyy5388 小时前
Linux环境变量
linux·运维·服务器
pluvium279 小时前
记对 xonsh shell 的使用, 脚本编写, 迁移及调优
linux·python·shell·xonsh
无级程序员9 小时前
centos7 安装 llvm-toolset-7-clang出错的问题解决
linux·centos
赛博云推-Twitter热门霸屏工具10 小时前
Twitter运营完整流程:从0到引流获客全流程拆解(2026)
运维·安全·自动化·媒体·twitter
CHHC188010 小时前
NetCore树莓派桌面应用程序
linux·运维·服务器
帮我吧智能服务平台10 小时前
装备制造智能制造升级:远程运维与智能服务如何保障产线OEE
运维·服务器·制造