linux所有主机互信脚本
时间: 2023-08-07 14:00:51 浏览: 105
Linux多主机双机互信脚本
在Linux系统中,如果我们需要实现主机之间的互信,即实现各个主机之间可以免密码进行SSH远程登录,可以通过编写脚本来实现。下面是一个简单的示例脚本:
```shell
#!/bin/bash
# 定义主机列表
hosts=("host1" "host2" "host3")
# 生成ssh密钥对
for host in "${hosts[@]}"
do
ssh-keygen -t rsa -N "" -f ~/.ssh/id_rsa_$host
done
# 拷贝公钥到远程主机
for host in "${hosts[@]}"
do
ssh-copy-id -i ~/.ssh/id_rsa_$host.pub $host
done
# 遍历所有主机,为每个主机配置互信
for host in "${hosts[@]}"
do
# 生成配置文件
cat > ~/.ssh/config <<EOF
Host $host
HostName $host
User Your-Username
IdentityFile ~/.ssh/id_rsa_$host
EOF
# 修改权限
chmod 600 ~/.ssh/config
done
```
使用上述脚本,首先我们需要定义主机列表,你可以根据实际需求进行修改。然后运行脚本,在每台主机上生成SSH密钥,然后将公钥拷贝到其他主机上。接着在每台主机上生成SSH配置文件,以便其他主机可以免密码登录。最后,通过SSH连接测试,你会发现主机之间可以互信了。
需要注意的是,上述脚本假设你已经安装了openssh-server,并且在运行脚本时,需要输入远程主机的用户名和密码。为了安全起见,你可以将脚本中的"Your-Username"替换为你自己的用户名,并在运行脚本时,手动输入密码。
希望以上回答能对你有所帮助。
阅读全文