#!/bin/bash
# 安装 sshpass,如果尚未安装
if ! command -v sshpass &> /dev/null; then
echo "sshpass 未安装。正在安装..."
sudo yum install -y epel-release
sudo yum install -y sshpass
fi
# SSH 用户名和密码,应该设置为环境变量
username="${SSH_USERNAME}"
password="${SSH_PASSWORD}"
# 检查用户名和密码是否已设置
if [ -z "$username" ] || [ -z "$password" ]; then
echo "错误:必须设置 SSH_USERNAME 和 SSH_PASSWORD 环境变量。"
exit 1
fi
# 从文件读取 IP 地址
ip_addresses=()
while IFS= read -r ip; do
ip_addresses+=("$ip")
done < path/to/ip_file.txt # 将此处替换为实际的 IP 文件路径
# 遍历 IP 地址并执行 'ls -la' 命令
for ip in "${ip_addresses[@]}"; do
echo "正在登录 $ip..."
sshpass -p "$password" ssh -o StrictHostKeyChecking=no "$username@$ip" 'ls -la'
echo "----------------------------------------"
done
使用说明
-
设置环境变量:
在运行脚本之前,设置环境变量SSH_USERNAME
和SSH_PASSWORD
。 -
export SSH_USERNAME="your_username" # 替换为实际的用户名 export SSH_PASSWORD="your_password" # 替换为实际的密码
-
运行脚本:
确保将path/to/ip_file.txt
替换为实际的包含 IP 地址的文件路径,然后运行脚本。