ssh 密钥复制 shell 脚本

ssh 密钥复制 shell 脚本

我对 shell 脚本领域还很陌生,我在 centos 服务器中编写了一个 shell 脚本,用于将其 ssh 密钥复制到一些 ubuntu 主机。我的脚本如下所示。

#!/bin/bash
path="/root/keygen/source.txt";
for p in `cat "$path"`;
do echo "$p"
echo "mypassword" | ssh-copy-id root@"$p" --stdin > /dev/null
echo "key copied"
done

该文件/root/keygen/source.txt包含 ubuntu 机器的 ip 地址。ubuntu 主机的 root 密码为“mypassword”,本地 ip 为 192.168.0.10

但是当我运行这个脚本时,它卡住了,并要求输入我在脚本中已经提供的 root 密码 192.168.0.10。脚本中有什么问题吗?请建议我更正这个程序,以便它获取我提供的列表中的所有 IP 地址并复制其 ssh 密钥而不要求输入密码。请注意,所有机器都有相同的 root 密码。

提前致谢。

答案1

相关内容