请写一个非交互式批量配置ssh免密的脚本
时间: 2024-05-14 22:18:37 浏览: 8
以下是一个非交互式批量配置 SSH 免密的脚本:
```bash
#!/bin/bash
# 配置 SSH 免密登录的用户名和密码
username="your_username"
password="your_password"
# 配置 SSH 远程服务器的 IP 地址,可以配置多个
servers=(
"192.168.1.101"
"192.168.1.102"
"192.168.1.103"
)
# 遍历远程服务器,将本地公钥复制到远程服务器的 authorized_keys 文件中
for server in "${servers[@]}"
do
echo "Configuring SSH key for server $server..."
# 将本地公钥复制到远程服务器的 authorized_keys 文件中
sshpass -p "$password" ssh-copy-id -o StrictHostKeyChecking=no "$username@$server"
done
echo "SSH key configuration complete!"
```
使用方法:
1. 将上述代码保存到一个文件中,例如 `ssh-key-setup.sh`。
2. 修改脚本中的用户名、密码和远程服务器 IP 地址。
3. 在终端中执行 `bash ssh-key-setup.sh` 命令,等待脚本执行完成即可。
注意:为了保证安全性,建议在执行脚本之前,先手动登录到每台远程服务器,创建一个新的用户,并且为该用户设置一个新的、强密码。然后,在脚本中使用该用户的用户名和密码进行免密登录的配置。这样可以避免将管理员账号密码暴露在脚本中。