ssh 服务实现免密登录是经常性的配置,现有3台主机分别是:192.168.200.111,192.168.200.112,192.168.200.113请运用shell 脚本实现ssh 免密登录的秘钥相互拷贝
时间: 2024-03-10 09:46:10 浏览: 16
可以使用以下脚本实现ssh免密登录的秘钥相互拷贝:
```bash
#!/bin/bash
# 定义需要配置免密登录的主机列表
hosts=("192.168.200.111" "192.168.200.112" "192.168.200.113")
# 循环遍历主机列表
for host in "${hosts[@]}"
do
echo "开始配置主机 $host 的免密登录..."
# 生成公私钥对
ssh-keygen -t rsa
# 拷贝公钥到目标主机,需要输入目标主机密码
ssh-copy-id -i ~/.ssh/id_rsa.pub user@$host
echo "主机 $host 的免密登录配置完成!"
done
```
脚本执行过程中会生成公私钥对,并将公钥拷贝到目标主机上,需要输入目标主机密码。请将上述脚本中的`user`替换成实际的用户名,执行脚本前请确保本机已经能够通过ssh连接到目标主机。
相关问题
linux ssh 免密 ERROR: ssh: connect to host 192.168.233.3 port 22: No route to host
在Linux中,SSH是一种安全的远程登录协议,可以通过它在不同的计算机之间进行远程连接和管理。免密登录是指在进行SSH连接时,不需要输入密码即可完成登录。
出现"ERROR: ssh: connect to host 192.168.233.3 port 22: No route to host"的错误提示,通常表示无法连接到目标主机。这可能是由于以下几个原因导致的:
1. 目标主机IP地址不正确:请确保你输入的目标主机IP地址是正确的,并且网络连接正常。
2. 目标主机SSH服务未启动:请确保目标主机已经启动了SSH服务。你可以通过在目标主机上执行以下命令来检查SSH服务是否正在运行:
```
systemctl status sshd
```
3. 目标主机防火墙设置:如果目标主机上启用了防火墙,可能会阻止SSH连接。你可以尝试在目标主机上打开SSH端口(默认为22)或者禁用防火墙来解决此问题。
4. 网络连接问题:请确保你的计算机与目标主机之间的网络连接正常。你可以尝试通过ping命令来测试网络连接是否正常:
```
ping 192.168.233.3
```
如果以上步骤都没有解决问题,你可以进一步检查网络配置、SSH配置以及目标主机的可访问性。
ssh: connect to host 192.168.1.111 port 22: Connection timed out
这个错误通常表示你无法通过 SSH 连接到目标主机的 22 端口。可能的原因包括:
1. 目标主机未开启 SSH 服务或者 SSH 服务未正常运行。
2. 目标主机的防火墙阻止了 SSH 连接。
3. 目标主机所在的网络无法连接到你的网络,或者存在网络故障。
你可以尝试以下解决方法:
1. 确认目标主机已经开启 SSH 服务,并且 SSH 服务已经正常运行。
2. 确认目标主机的防火墙未阻止 SSH 连接。
3. 检查你的网络连接是否正常,或者尝试使用其他网络连接。
4. 如果以上方法都无法解决问题,可以尝试联系网络管理员或者目标主机的维护人员。