SSH密钥批量配置免密登录多服务器集群完整教程

为什么需要批量免密登录

管理多台服务器时,每次输入密码既慢又容易出错。
配置 SSH 密钥后,你可以用一条命令同时操作整个集群,适合定时脚本、自动化部署或日常巡检。
本文假设你已有一台本地机器(控制端)和若干台远程 Linux 服务器,所有机器都支持 SSH 协议。

第一步:生成密钥对

在控制端打开终端,执行以下命令生成 RSA 4096 位密钥对(注意不要设置密码):

ssh-keygen -t rsa -b 4096 -N "" -f ~/.ssh/id_rsa

执行后会在 ~/.ssh/ 下生成两个文件:id_rsa(私钥)和 id_rsa.pub(公钥)。
私钥必须妥善保管,公钥则需要分发到每台远程服务器。

第二步:批量分发公钥

新建一个文本文件 server_list.txt,每行写入远程服务器的 IP 地址或域名,例如:

192.168.1.10
192.168.1.11
192.168.1.12

然后运行以下脚本批量使用 ssh-copy-id 将公钥添加进去(记得替换 username 为你的远程用户名):

while IFS= read -r ip; do
    ssh-copy-id -i ~/.ssh/id_rsa.pub username@$ip
done < server_list.txt

首次连接时会被询问是否接受主机密钥,
你可以先手动执行一次 ssh -o StrictHostKeyChecking=no username@目标IP 把已知主机记录写入 ~/.ssh/known_hosts,
或者直接给 ssh-copy-id 加上 -o StrictHostKeyChecking=accept-new 参数(OpenSSH 7.6 以上支持)。

如果服务器没有 ssh-copy-id 命令,可用以下命令手动添加:

cat ~/.ssh/id_rsa.pub | ssh username@$ip "mkdir -p ~/.ssh && cat >> ~/.ssh/authorized_keys"

避坑指南

  • 文件权限:远程服务器上的 ~/.ssh 目录权限必须是 700,authorized_keys 文件权限必须是 600,否则 SSH 会拒绝密钥验证。可通过 chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys 修复。
  • known_hosts 冲突:如果之前用密码登录过该服务器,再次连接时可能提示主机密钥不匹配。可以手动删除 ~/.ssh/known_hosts 中对应 IP 的行,或使用 ssh-keygen -R 目标IP 清除。
  • 批量脚本中断:循环中如果某台机器连接失败会导致后续机器中断,建议在循环内加上 || echo "$ip failed" 跳过错误继续执行:
while IFS= read -r ip; do
    ssh-copy-id -i ~/.ssh/id_rsa.pub username@$ip || echo "$ip failed"
done < server_list.txt

验证效果与常见问题

验证方式:在控制端执行 ssh username@目标IP,如果无需密码直接登录即表示配置成功。
如果要一次性验证所有服务器,可以用如下命令:

for ip in $(cat server_list.txt); do
    ssh -o BatchMode=yes -o ConnectTimeout=5 username@$ip "echo $ip OK" || echo "$ip FAILED"
done

常见问题解答

  • 问:为什么我执行 ssh-copy-id 后还是提示输入密码? 答:检查远程服务器的 ~/.ssh/authorized_keys 是否有公钥内容,以及权限是否正确。
  • 问:公钥已经添加,但登录依然要求密码? 答:检查 /etc/ssh/sshd_config 中的 PubkeyAuthentication yes 是否被注释,以及 AuthorizedKeysFile 路径是否指向 .ssh/authorized_keys。
  • 问:如何避免首次连接的手动确认? 答:在 ~/.ssh/config 中添加如下全局配置:
Host *
    StrictHostKeyChecking accept-new

如果你正在处理 SSH 密钥批量配置免密登录多服务器集群,建议先按本文步骤完整执行,再根据自己的环境做微调;
遇到异常时优先回看避坑和高频问题部分。

分享到:
上一篇
多网卡绑定链路聚合提升出口带宽上限实操指南
下一篇
定时自动清理MySQL慢查询日志释放磁盘
1
系统公告

泽御云中秋国庆双节活动上线:新购8折,拼团3.99元起

尊敬的用户:
泽御云“月满中秋·礼贺国庆”双节活动现已开启,活动时间为2026年9月23日至10月10日。 活动期间可享以下福利:
1. 常规云服务器新购使用优惠码“泽御中秋国庆同乐”,符合条件的订单享8折优惠。
2. 香港精品云服务器5人拼团低至3.99元,部分4核4G套餐3人拼团年付388元,续费同价。
3. 新用户购买年付云服务器,符合活动规则可赠送2个月使用时长。
4. 老用户续费季度赠15天,续费年度赠2个月;活动期间升级配置免收配置迁移手续费。
5. 推荐好友成功下单,符合条件的推荐人可获赠7天服务器使用时长。
6. 活动期间享宕机补偿标准翻倍、简单网站迁移协助及技术工单优先处理权益。
温馨提示:优惠码不适用于拼团套餐、活动轻量产品、年付订单及续费订单;拼团套餐为独立特价活动,不与赠时类福利叠加。赠送时长不可折现、退款或跨账户转移,具体规则以活动页面说明为准。
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意