脚本实现ssh免密登录多台设备
时间: 2023-08-24 15:06:17 浏览: 48
要实现SSH免密登录多台设备,你可以使用以下步骤:
1. 确保你已经生成了SSH密钥对。如果没有,请使用以下命令生成密钥对:
```
ssh-keygen -t rsa
```
2. 将你的公钥复制到远程设备上。你可以使用以下命令将公钥复制到单个远程设备:
```
ssh-copy-id user@remote_host
```
如果你要免密登录多台设备,你可以编写一个脚本来自动复制公钥到每个远程设备。以下是一个示例脚本:
```bash
#!/bin/bash
# 远程设备列表
devices=(
"user@device1"
"user@device2"
"user@device3"
)
# 循环遍历设备列表
for device in "${devices[@]}"; do
echo "复制公钥到设备 $device ..."
ssh-copy-id $device
echo "完成设备 $device 的配置!"
echo ""
done
echo "所有设备SSH免密登录配置完成!"
```
在这个示例脚本中,我们使用一个名为`devices`的数组来存储远程设备的用户名和主机名。脚本会遍历设备列表,并使用`ssh-copy-id`命令将公钥复制到每个远程设备上。
3. 保存脚本为可执行文件,并运行它:
```
chmod +x script.sh
./script.sh
```
这将自动复制公钥到每个远程设备上,实现SSH免密登录。
请注意,在运行脚本之前,确保你的本地SSH密钥对已生成,并且已经安装了`ssh-copy-id`工具。此外,确保你可以使用SSH连接到每个远程设备,并提供正确的用户名和密码。