简介
本脚本(auto_ssh_batch.sh)用于在多台主机之间快速配置SSH免密登录,并支持远程传输脚本/文件及实行命令。通过 pass 文件提供统一认证凭据,通过 nodes 文件定义目标主机列表,实现批量自动化操纵。
下载
- git clone https://gitee.com/wesley_li0/NoPassword.git
复制代码 特别说明(公司):
利用非root用户需要创建用户并添加root组,并且配置信任的sudo权限,可以利用命令实现
USER : 用户名
PASSWORD:暗码- USER=your_user && PASSWORD=your_password && useradd -m -G root -s /bin/bash "$USER" && echo "$USER:$PASSWORD" | chpasswd && echo "$USER ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers.d/$USER
复制代码 前提条件
- 操纵体系:目标主机需为 RHEL/CentOS 7 体系(因依赖 sshpass-1.06-2.el7.x86_64.rpm)。
- 权限要求:
- 实行脚本的主机需具有root权限以安装 sshpass。
- 全部目标主机的SSH服务已启动,且防火墙允许SSH端口(默认22)通讯。
- 全部主机用户名暗码一致(免密完成后需改暗码不影响免密)
文件准备:确保以下文件及目录布局存在:- /root/NoPassword/ # 脚本存放与用户家目录下
- ├── auto_ssh_batch.sh # 主执行脚本
- ├── bin
- │ └── generate_ssh_key.sh # 待分发的远程执行脚本
- ├── config
- │ └── nodes # 存储目标主机IP和节点ID
- └── main
- └── sshpass-1.06-2.el7.x86_64.rpm # sshpass安装包
复制代码 配置文件格式
**nodes**** 文件**
每行定义一个目标主机的IP和节点ID (ID尽量与后续集群自动化脚本ID一致,若无实行集群脚本需求,ID自定义,仅作为输出机器标识利用),空格分隔:- IP_Address Node_ID User Password
复制代码 示例:- 192.168.1.10 1 root root123
- 192.168.1.11 2 root root123
复制代码 脚本利用方法
SSH自定义端口
- - SSH 端口指定,修改 `auto_ssh_batch.sh` 脚本中的`SSH_PORT`变量
- - `SSH_PORT` 该变量用于指定 SSH 链接端口,默认 22
复制代码 放置依赖文件- - 将 `sshpass` 的 RPM 包放入 `main/` 目录(默认已存在)。
- - 确保 `generate_ssh_key.sh` 脚本位于 `bin/` 目录。
复制代码 赋予实行权限,并实行脚本- sudo chmod +x auto_ssh_batch.sh
- sudo sh auto_ssh_batch.sh
- # 脚本运行结束后使用ssh验证
- # 默认ssh端口
- ssh username@ip
- # 指定ssh端口
- ssh -p xx username@ip
复制代码 -------------------------脚本利用到此结束--------------------
脚本实行流程
- 文件检查
验证 config/pass 和 config/nodes 是否存在,格式是否正确。
- 初始化情况
- 生本钱地SSH密钥对(如不存在)。
- 安装 sshpass(若未安装)。
- 批量操纵
遍历 nodes 文件中的每个IP:
- 分发公钥:利用 sshpass 将公钥复制到目标主机,实现免密登录。
- 传输文件:将 generate_ssh_key.sh、pass、nodes、sshpass 上传到目标主机的 /tmp。
- 远程实行:在目标主机上运行 generate_ssh_key.sh。
留意事项
- 安全性警告
- nodes 文件中暗码以明文存储,建议仅在受信任情况利用。
- 脚本利用 -o StrictHostKeyChecking=no,自动信任主机密钥,可能存在中间人攻击风险。
- 错误处理
- 若某主机公钥分发失败,脚本会跳过该主机继续实行。
- 传输文件或远程命令失败时,查看错误输出并检查网络连通性。
- 日志输出
实行过程中会显示具体日志,包括成功/失败的主机IP及操纵状态。
通过以上步骤,您可快速完成多主机SSH免密登录配置及批量远程操纵。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |