SSH密钥自动分发脚本的核心是用ssh-copy-id将本地公钥追加至目标机~/.ssh/authorized_keys并设权限为600;推荐配合循环批量执行,如while read host; do ssh-copy-id -i ~/.ssh/id_rsa.pub "$host"; done
SSH 密钥自动分发脚本的核心是用
ssh-copy-id或手动推送公钥到目标主机的~/.ssh/authorized_keys,并确保权限正确。关键不是“写一个万能脚本”,而是根据实际环境(单台/多台、有无密码、是否启用 agent)选择合适方式,避免硬编码敏感信息。基础版:单台主机一键分发
适用于已知目标 IP 和用户名,且本地有可用私钥、目标支持密码登录的场景:
- 先生成密钥对(如尚无):
ssh-keygen -t ed25519 -C "your_email@example.com"- 用
ssh-copy-id自动完成授权(最稳妥):ssh-copy-id -i ~/.ssh/id_ed25519.pub user@192.168.1.100- 验证是否生效:
ssh -i ~/.ssh/id_ed25519 user@192.168.1.100批量分发:用循环处理多台主机
把目标主机列表存成文件(如
hosts.txt,每行格式:user@ip),再配合ssh-copy-id批量执行:#!/bin/bash KEY_FILE="${HOME}/.ssh/id_ed25519.pub" HOSTS_FILE="hosts.txt" while IFS= read -r host; do [ -z "$host" ] && continue echo "正在向 $host 分发密钥..." ssh-copy-id -i "$KEY_FILE" "$host" || echo "⚠️ $host 分发失败" done < "$HOSTS_FILE"注意:需提前配置好 SSH 密码登录或使用
ssh-agent管理密码,否则会卡在交互式密码输入。
宝塔Linux面板11.3.0下载宝塔面板11.3.0是一款针对Linux服务器设计的可视化管理工具,通过重构核心模块实现资源占用显著降低,尤其适合低配置服务器环境。它将复杂的命令行操作转化为直观的图形界面,帮助开发者快速完成网站部署、环境配置及日常运维工作,无需专业技术背景即可高效管理服务器。
免密码前提:启用 ssh-agent 并加载密钥
批量操作时频繁输密码体验差,建议启动 agent 并添加私钥:
- 启动 agent:
eval "$(ssh-agent -s)"- 添加密钥:
ssh-add ~/.ssh/id_ed25519(会提示输入一次私钥密码)- 之后所有
ssh和ssh-copy-id调用都复用该凭据,无需重复输入安全与权限要点
自动分发后务必检查目标端权限,否则 SSH 会拒绝读取密钥文件:
~/.ssh目录权限必须是700(chmod 700 ~/.ssh)~/.ssh/authorized_keys权限必须是600(chmod 600 ~/.ssh/authorized_keys)- 脚本中避免明文写密码;若必须用密码登录批量主机,推荐配合
sshpass(不推荐生产环境)或改用基于密钥的跳转登录不复杂但容易忽略细节。优先用
ssh-copy-id,它内置了权限校验和追加逻辑,比手动cat ... | ssh ... 'tee ...'更可靠。
相关文章
如何使用Linux fdisk进行分区
Server 2012系统更新开启方法
AionClaw静态网站和带后台的网站怎么选
服务器远程连接大型网站架构怎么配
奥尔特曼证实 OpenAI 自研人形机器人:家用不是当务之急,但长期看好
本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门AI工具
相关专题
磁盘配额是计算机中指定磁盘的储存限制,就是管理员可以为用户所能使用的磁盘空间进行配额限制,每一用户只能使用最大配额范围内的磁盘空间。php中文网为大家提供各种磁盘配额相关的内容,教程,供大家免费下载安装。
4350
2023.06.21
find是linux命令,它将档案系统内符合 expression 的档案列出来。可以指要档案的名称、类别、时间、大小、权限等不同资讯的组合,只有完全相符的才会被列出来。find根据下列规则判断 path 和 expression,在命令列上第一个 - ( ) , ! 之前的部分为 path,之后的是 expression。还有指DOS 命令 find,Excel 函数 find等。本站专题提供linux find相关教程文章,还有相关
2933
2023.06.30
linux系统是一种可以免费使用,自由传播,多用户、多任务、多线程、多CPU的操作系统。本专题提供linux系统安装教程相关的文章,大家可以免费体验。
6862
2023.07.06
Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。linux怎么查看文件夹大小呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。
3933
2023.07.20
在linux的系统维护中,可能需要经常查看cpu使用率,分析系统整体的运行情况。本专题为大家带来了linux查看cpu使用率的相关文章,感兴趣的朋友千万不要错过了。
3659
2023.07.25
本专题汇总了Uvicorn服务器常见问题与报错解决的教程合集,涵盖启动失败、端口占用、模块导入错误、事件循环冲突及热重载失效等典型故障的排查思路。同时整理了多进程与Worker配置、SSL/HTTPS证书报错、跨域与代理配置等实战解决方案,助你快速定位并解决Uvicorn运行中的各类问题。
0
2026.11.02
热门下载
相关下载
精品课程
最新文章













