如何使用 Bash 脚本(shell脚本)自动化 SSH 登录并执行命令(在linux批量登录服务器执行命令的shell脚本-读取-写入等所有命令)

#!/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

使用说明

  1. 设置环境变量
    在运行脚本之前,设置环境变量 SSH_USERNAME 和 SSH_PASSWORD

  2. export SSH_USERNAME="your_username"  # 替换为实际的用户名
    export SSH_PASSWORD="your_password"  # 替换为实际的密码

  3. 运行脚本
    确保将 path/to/ip_file.txt 替换为实际的包含 IP 地址的文件路径,然后运行脚本。

Shell脚本是一种用于编写批处理任务的脚本语言,可以自动化地执行一系列预定义的命令。在Linux服务器中,我们可以编写一个Shell脚本来实现自动登录服务器执行命令的功能。 首先,我们需要使用ssh命令Shell脚本中建立与目标Linux服务器ssh连接。可以使用以下命令: ``` ssh username@hostname ``` 其中,username是登录服务器的用户名,hostname是服务器的主机名或IP地址。需要在脚本中提供正确的用户名和主机名。 接下来,我们可以在脚本中编写需要在服务器上执行的命令,例如: ``` command1 command2 ``` 这里的command1和command2是需要执行的命令。可以根据实际需求编写自己的命令。 最后,我们将以上的ssh连接命令和需要执行的命令整合在一起,形成一个完整的脚本,例如: ``` #!/bin/bash ssh username@hostname << EOF command1 command2 EOF ``` 在这个例子中,EOF是一个分界符,用于定义需要在服务器上执行的命令的开始和结束。 当我们运行这个脚本时,它会自动登录到指定的Linux服务器,并按照脚本中编写的命令顺序执行。执行结果会在终端中显示。 需要注意的是,为了能够自动化执行,我们可能需要在脚本中配置ssh密钥认证,以免在每次执行脚本时都需要手动输入密码。 通过编写这样一个Shell脚本,我们可以实现自动登录Linux服务器执行命令的功能,提高工作效率和自动化管理服务器的能力。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

longerxin2020

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值