批量分发ssh公钥的核心是将本地公钥追加至目标机~/.ssh/authorized_keys并设权限为600;推荐用ssh-copy-id配合循环实现自动化,如while read host; do ssh-copy-id -i ~/.ssh/id_rsa.pub "$host"; done
批量分发 SSH 公钥到多台 Linux 主机,核心是把本地的
~/.ssh/id_rsa.pub(或其他公钥)内容追加到目标机器的~/.ssh/authorized_keys文件中,同时确保权限正确。手动一台台操作效率低,推荐用脚本或工具自动化。用 ssh-copy-id 批量推送(最简单)
ssh-copy-id是 OpenSSH 自带工具,专为单台主机设计,但配合 shell 循环可轻松扩展为批量操作:
- 先准备一个 IP 或主机名列表(如
hosts.txt,每行一个)- 运行命令:
while read host; do ssh-copy-id -i ~/.ssh/id_rsa.pub "$host"; done- 若目标用户不是当前用户名,写成
"user@host";若端口非 22,加-p 2222- 首次连接会提示确认并输入密码,后续再执行可跳过(因密钥已存在)
用 Ansible 自动化分发(适合运维场景)
Ansible 无需在目标机装客户端,基于 SSH 工作,天然适合批量密钥管理:
- 安装 Ansible:
pip install ansible或系统包管理器安装- 创建主机清单
inventory,例如:[servers]<br>192.168.1.10<br>192.168.1.11<br>web01.example.com- 执行命令一键分发:
ansible all -i inventory -m authorized_key -a "user=ubuntu state=present key='{{ lookup('file', '~/.ssh/id_rsa.pub') }}'" --ask-pass- 若已配置 SSH 密钥登录某跳板机,可用
--private-key指定私钥路径纯 Bash 脚本 + scp + ssh(零依赖方案)
不依赖额外工具,仅靠基础命令,适合受限环境:
- 脚本示例(保存为
deploy-key.sh):#!/bin/bash<br>KEY=$(cat ~/.ssh/id_rsa.pub)<br>while read host; do<br> ssh "$host" "mkdir -p ~/.ssh && chmod 700 ~/.ssh"<br> echo "$KEY" | ssh "$host" "cat >> ~/.ssh/authorized_keys && chmod 600 ~/.ssh/authorized_keys"<br>done < hosts.txt- 注意:必须保证当前用户对每台目标主机有密码登录权限(或已有其他可用密钥)
- 执行前加
chmod +x deploy-key.sh,然后运行./deploy-key.sh关键注意事项
无论用哪种方式,以下几点直接影响是否能免密登录成功:
- 权限必须严格:目标机上
~/.ssh目录权限应为700,authorized_keys应为600,否则 SSH 会拒绝读取- SELinux 或 AppArmor 可能拦截,若分发后仍需密码,检查
ls -Z ~/.ssh和日志/var/log/secure- 目标用户家目录不能是 root、nobody 等特殊用户,且
sshd_config中PubkeyAuthentication yes和AuthorizedKeysFile .ssh/authorized_keys需启用- 如果用非默认密钥(如
id_ed25519),记得用-i明确指定私钥路径,避免客户端选错
0
0
相关文章
Linux服务频繁重启_服务异常原因分析
Linux RAID性能调优_RAID级别选择
Linux软件配置迁移_配置迁移注意事项
Linux定时任务漂移_cron时间漂移分析
Linux 文件系统性能对比_ext4与xfs调优
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门AI工具
相关专题
安装步骤:1、确保Python已经正确安装在您的计算机上;2、下载“get-pip.py”脚本;3、按下Win + R键,然后输入cmd并按下Enter键来打开命令行窗口;4、在命令行窗口中,使用cd命令切换到“get-pip.py”所在的目录;5、执行安装命令;6、验证安装结果即可。大家可以访问本专题下的文章,了解pip安装使用方法的更多内容。
373
2023.10.09
更新pip版本方法有使用pip自身更新、使用操作系统自带的包管理工具、使用python包管理工具、手动安装最新版本。想了解更多相关的内容,请阅读专题下面的文章。
433
2024.12.20
设置方法:1、打开终端或命令提示符窗口;2、运行“touch ~/.pip/pip.conf”命令创建一个名为pip的配置文件;3、打开pip.conf文件,然后添加“[global];index-url = https://pypi.tuna.tsinghua.edu.cn/simple”内容,这将把pip的镜像源设置为清华大学的镜像源;4、保存并关闭文件即可。
799
2024.12.23
while的用法是“while 条件: 代码块”,条件是一个表达式,当条件为真时,执行代码块,然后再次判断条件是否为真,如果为真则继续执行代码块,直到条件为假为止。本专题为大家提供while相关的文章、下载、课程内容,供大家免费下载体验。
105
2023.09.25
磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。
1542
2023.06.21
find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关
300
2023.06.30
本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。
23
2026.03.06
热门下载
相关下载
精品课程




