帮我写一个脚本,批量配置主机免密登录
时间: 2024-01-20 14:03:08 浏览: 23
好的,以下是一个简单的脚本,可以批量配置主机免密登录:
```
#!/bin/bash
# 配置免密登录的用户名和密码
username="your_username"
password="your_password"
# 遍历需要配置免密登录的主机列表
for host in host1 host2 host3
do
# 生成 ssh key
ssh-keygen -t rsa
# 将公钥复制到远程主机
sshpass -p $password ssh-copy-id $username@$host
# 测试免密登录是否成功
ssh $username@$host "echo '免密登录成功'"
done
```
在脚本中,你需要将 `your_username` 和 `your_password` 替换成你要配置免密登录的用户名和密码,将 `host1`、`host2` 和 `host3` 替换成你要配置免密登录的主机名。
脚本的执行流程如下:
1. 生成 ssh key,用于免密登录。
2. 将公钥复制到远程主机。
3. 测试免密登录是否成功。
如果免密登录成功,会在终端输出 `免密登录成功`。
相关问题
帮我写一个脚本,批量配置用户免密登录
好的,以下是一个简单的脚本,可以批量配置用户免密登录:
```bash
#!/bin/bash
# 读取要配置免密登录的用户名和主机名
read -p "请输入要配置免密登录的用户名: " username
read -p "请输入要配置免密登录的主机名: " hostname
# 在本地机器上生成 SSH 密钥对
ssh-keygen -t rsa
# 将公钥复制到目标主机上
ssh-copy-id $username@$hostname
# 验证免密登录是否配置成功
ssh $username@$hostname
```
使用方法:
1. 将脚本保存为 `ssh-login.sh` 文件;
2. 执行命令 `chmod +x ssh-login.sh`,给脚本添加执行权限;
3. 执行命令 `./ssh-login.sh`,按照提示输入要配置免密登录的用户名和主机名。
注意事项:
1. 执行脚本之前,请确保已经安装了 SSH;
2. 在执行 `ssh-copy-id` 命令时,可能需要输入目标主机的密码。
帮我写一个脚本,批量配置用户免密登录,可以指定端口、各主机用户、以及密码
好的,以下是一个可以指定端口、各主机用户、以及密码的脚本:
```bash
#!/bin/bash
# 读取要配置免密登录的用户名和主机名
read -p "请输入要配置免密登录的用户名: " username
read -p "请输入要配置免密登录的主机名: " hostname
read -p "请输入要配置免密登录的端口号: " port
read -s -p "请输入要配置免密登录的用户密码: " password
# 在本地机器上生成 SSH 密钥对
ssh-keygen -t rsa
# 将公钥复制到目标主机上
sshpass -p $password ssh-copy-id -i ~/.ssh/id_rsa.pub -p $port $username@$hostname
# 验证免密登录是否配置成功
ssh $username@$hostname -p $port
```
使用方法:
1. 将脚本保存为 `ssh-login.sh` 文件;
2. 执行命令 `chmod +x ssh-login.sh`,给脚本添加执行权限;
3. 执行命令 `./ssh-login.sh`,按照提示输入要配置免密登录的用户名、主机名、端口号、以及用户密码。
注意事项:
1. 执行脚本之前,请确保已经安装了 SSH 和 sshpass;
2. 在执行 `ssh-copy-id` 命令时,需要使用 sshpass 命令指定密码,因此需要提前安装 sshpass;
3. 在输入密码时,命令行不会显示密码,但是已经输入,可以直接按回车键。