您现在的位置是:电脑教程 >>正文
服务器多?密码烦?用这个脚本,一键搞定 SSH 免密信任!
电脑教程6人已围观
简介你是否也经历过这些场景:管理 200 台服务器,每次部署都要手动输入密码。新同事误操作导致known_hosts文件混乱。密钥泄露后连夜逐台服务器替换。今天分享一个工业级脚本,3 分钟建立全局SSH信 ...
你是服务烦用否也经历过这些场景 :
管理 200 台服务器,每次部署都要手动输入密码。器多新同事误操作导致known_hosts文件混乱 。密码H免密信密钥泄露后连夜逐台服务器替换 。个脚搞定今天分享一个工业级脚本,本键3 分钟建立全局SSH信任体系。服务烦用

一 、器多免密登录的免费模板密码H免密信基本原理
在Linux服务器之间实现SSH免密登录,主要依赖公私钥认证 机制:
跳板机生成SSH密钥对(私钥&公钥)将公钥(id_rsa.pub)分发到目标服务器的个脚搞定 ~/.ssh/authorized_keys确保权限正确 ,SSH配置允许公钥认证验证SSH免密登录是本键否生效 。
二 、服务烦用代码实现
1. 读取列表清单文件中的器多信息是模板下载以“IP 地址:密码”的格式呈现的 ,同时我们也支持在文件中添加注释以及留空行。密码H免密信以下函数是个脚搞定检查目标文件 。
复制# 输入验证:检查目标文件 validate_input() { # 检查目标文件是本键否存在 if [ ! -f "$TARGET_FILE" ]; then echo "[ERROR] 目标文件不存在: $TARGET_FILE" | tee -a $LOG_FILE exit 1 fi # 读取文件并过滤有效IP和密码(支持#注释和空行) mapfile -t TARGET_ENTRIES < <(grep -vE ^#|^$ "$TARGET_FILE") # 检查是建站模板否读取到有效条目 if [ ${ #TARGET_ENTRIES[@]} -eq 0 ]; then echo "[ERROR] 目标文件中未找到有效IP和密码" | tee -a $LOG_FILE exit 1 fi echo "[$(date +%F%T)] 已加载目标IP和密码列表:" | tee -a $LOG_FILE printf %s\n "${ TARGET_ENTRIES[@]}" | tee -a $LOG_FILE }1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20. 2. 生成密钥以下函数是在.ssh生成一个秘钥对。
复制# 生成跳板机密钥 generate_key() { echo "[$(date +%F%T)] 正在生成跳板机密钥..." | tee -a $LOG_FILE if [ ! -f ~/.ssh/id_${ KEY_TYPE} ]; then ssh-keygen -t ${ KEY_TYPE} -N "" -f ~/.ssh/id_${ KEY_TYPE} -q [ $? -eq 0 ] && echo "密钥生成成功" || exit 1 fi }1.2.3.4.5.6.7.8. 3. 部署公钥文件秘钥对生成后 ,通过以下函数部署公钥。
复制# 批量部署公钥到目标节点 deploy_key() { local ip=$1 local password=$2 echo "[$(date +%F%T)] 正在处理节点 $ip" | tee -a $LOG_FILE for ((i=1; i<=$RETRY_TIMES; i++)); do SSHPASS="$password" sshpass -e ssh-copy-id \ -o StrictHostKeyChecking=no \ -o ConnectTimeout=10 \ -i ~/.ssh/id_${ KEY_TYPE}.pub \ $USER@$ip >/dev/null 2>&1 if [ $? -eq 0 ]; then echo "节点 $ip 公钥部署成功" | tee -a $LOG_FILE return 0 else echo "节点 $ip 第$i次尝试失败,等待重试..." | tee -a $LOG_FILE sleep $((i*2)) fi done echo "[ERROR] 节点 $ip 公钥部署失败!" | tee -a $LOG_FILE return 1 }1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.三 、脚本演示
先准备设备清单。源码下载内容如下:
复制# 生产环境服务器列表 192.168.31.101:password 192.168.31.102:password 192.168.31.103:password1.2.3.4.执行如下命令给脚本赋予执行的权限
复制chmod +x auto_ssh_trust.sh1.执行完成上述命令后,输出如下结果:

脚本亮点:
(1) 支持 IP 和密码文件格式
文件格式为 IP:密码,支持注释(以#开头)和空行自动解析并提取 IP 和密码: 复制ip=$(echo "$entry" | cut -d: -f1 | xargs) password=$(echo "$entry" | cut -d: -f2 | xargs)1.2.(2) 日志记录与审计
记录每个节点的部署状态(成功/失败)生成校验报告 ,验证信任关系是否建立成功(3) 错误处理与重试机制
单节点失败后自动重试(最多 3 次)跳过无效条目,继续处理其他节点 。香港云服务器四、小结
该脚本用于自动化建立SSH双向信任关系 ,支持从文件导入 IP 地址和密码 ,并自动清理密码中的空格 。通过生成Ed25519密钥、批量部署公钥 、配置反向信任和记录审计日志 ,服务器租用帮助运维人员高效管理多台服务器的SSH免密登录。
Tags:
转载:欢迎各位朋友分享到网络,但转载请说明文章出处“信息技术视野”。http://www.bziz.cn/news/844d8999066.html
相关文章
越来越多受害者拒绝向黑客支付赎金
电脑教程2022 年第二季度勒索软件统计数据显示,受害者向黑客支付赎金的比例和赎金数额正在下降,这一趋势自2021年第四季度以来一直在持续。从 Coveware发布的报告来看,2022年第二季度的勒索软件平均 ...
【电脑教程】
阅读更多笔记本电脑AHCI模式教程(了解AHCI模式,提升笔记本电脑性能)
电脑教程随着科技的进步,笔记本电脑在我们的日常生活中发挥着越来越重要的作用。然而,许多人对于笔记本电脑的硬件设置并不太了解。本文将为大家介绍一种常见且重要的模式——AHCI模式,并帮助读者了解如何在笔记本电脑 ...
【电脑教程】
阅读更多R11新版系统的功能与优势(一探R11新版系统的升级特点及用户体验)
电脑教程随着科技的不断发展,智能手机系统也在不断更新与升级。R11新版系统作为最新推出的操作系统,为用户带来了全新的功能与优势。本文将详细介绍R11新版系统的各项特点,从而让读者对其有更加全面的了解。标题和1 ...
【电脑教程】
阅读更多
热门文章
最新文章
友情链接
- Excel表格中将竖列数据求和的方法教程
- 如何设置笔记本电脑启动U盘(一步步教你将U盘设置为笔记本电脑的启动选项)
- 光盘启动设置指南(轻松操作光盘启动,释放你的电脑潜力)
- 使用ISOU盘启动盘的完整教程(简单实用的ISOU盘制作与使用方法)
- 锤子T2体验报告(锤子T2全面评测,从外观到性能全方位解析)
- 磁盘损坏(从备份到专业工具,多种修复方法帮您解决磁盘损坏的问题)
- Excel将表格中的名字对齐的方法
- Excel表格将多个表格快速合并汇总成一个的方法教
- 小米5标配版(一款实惠且性能出众的智能手机)
- 比较820和X10处理器(探索两款处理器的性能和特点,为你的智能设备做出明智选择) b2b信息平台云服务器企业服务器亿华云源码库香港物理机网站建设