Linux Shell 脚本实现服务器间 SSH 免密运维

舞姬之光

舞姬之光

2026-07-30

366人浏览

原创

linux shell脚本实现ssh免密运维的核心是自动化密钥生成、分发、权限设置与服务验证:先创建~/.ssh目录并生成无密码rsa密钥,再用ssh-copy-id或scp+ssh推送公钥,接着配置并重启远程sshd服务,最后校验并修复本地及远程目录和文件权限,最终封装为支持批量添加、测试与清理的可复用脚本。

linux shell 脚本实现服务器间 ssh 免密运维

Linux Shell 脚本实现服务器间 SSH 免密运维,核心是把人工执行的密钥生成、分发、权限设置、服务验证等步骤自动化,让多台服务器之间一键建立信任关系,支撑批量命令、定时同步、无人值守部署等场景。

生成并分发密钥对

脚本需在控制节点(如跳板机或运维主机)上运行,首先检查 ~/.ssh 目录是否存在,若无则创建;接着调用 ssh-keygen -t rsa -b 4096 -N '' -f ~/.ssh/id_rsa 生成无密码私钥(-N '' 表示空 passphrase,确保脚本可非交互执行)。生成后,用 ssh-copy-id 批量推送公钥到目标列表中的每台服务器。若目标机器未预装 ssh-copy-id,可用 scp + ssh 组合实现等效操作:先上传公钥文件,再通过远程 shell 追加到 ~/.ssh/authorized_keys 中。

PyCharm 2026.2.0.1 Linux版
PyCharm 2026.2.0.1 Linux版

PyCharm 2026.2.0.1 Linux版提供 JetBrains 官方 2026.2.0.1 版本安装包,适合需要指定 PyCharm 版本进行 Python 项目开发、运行和调试的用户。

下载

统一配置远程主机 SSH 服务

免密登录生效依赖服务端正确启用公钥认证。脚本可通过 ssh user@host 'sudo sed -i "s/^#*PubkeyAuthentication.*/PubkeyAuthentication yes/" /etc/ssh/sshd_config' 启用该选项;同时建议将 PasswordAuthentication no(仅在确认密钥登录稳定后启用)和 AuthorizedKeysFile .ssh/authorized_keys 一并写入。操作完成后,自动触发 ssh user@host 'sudo systemctl restart sshd' 重启服务。注意:部分系统(如 CentOS 7)需额外检查 SELinux 状态,必要时执行 restorecon -Rv ~/.ssh 修复上下文。

校验与权限加固

脚本执行后必须验证关键路径权限是否合规,否则 SSH 守护进程会拒绝读取密钥文件。典型检查项包括:
• 本地 ~/.ssh 目录权限为 700
• 本地私钥 id_rsa 权限为 600
• 远程 ~/.ssh 目录权限为 700
• 远程 authorized_keys 文件权限为 600
脚本中可用 chmod 700 ~/.ssh && chmod 600 ~/.ssh/id_rsa 本地处理,并通过 ssh user@host 'chmod 700 ~/.ssh && chmod 600 ~/.ssh/authorized_keys' 远程修正。失败时输出具体错误位置,便于快速定位。

封装成可复用的批量任务

将上述逻辑整合为带菜单或参数的脚本,例如支持传入 IP 列表文件:
./ssh_trust.sh --add ip_list.txt:为列表中所有服务器配置免密
./ssh_trust.sh --test host1 host2:并发测试连通性与免密状态
./ssh_trust.sh --clean user@host:从指定主机 authorized_keys 中移除当前公钥
配合 for 循环与 timeout 命令控制单次连接超时(如 timeout 5 ssh -o ConnectTimeout=5 -o BatchMode=yes user@host exit),避免某台宕机拖慢整体流程。不复杂但容易忽略

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux linux shell

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

355

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

618

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

1216

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

429

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

324

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

190

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

1033

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

1850

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

323

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
马士兵spring视频教程
马士兵spring视频教程

共25课时 | 9.7万人学习