【发布时间】:2018-05-25 03:24:42
【问题描述】:
我正在尝试将我的个人资料复制到服务器列表 (5K)。我正在使用私钥来进行身份验证。一切都按预期顺利运行,但我有一点小烦恼:
有时服务器不接受我的密钥(没关系,我不在乎是否有一些服务器没有收到我的配置文件)但同样被拒绝,弹出一个提示要求输入密码并停止执行,直到我输入 CTRL- C 中止它。
我如何确保 SCP 使用密钥并且只使用密钥,并且从不提示输入任何密码?
注意:我计划在末尾添加一个 & 符号,以便稍后并行完成所有副本。
代码
#!/bin/bash
while read server
do
scp -o "StrictHostKeyChecking no" ./.bash_profile rouser@${server}:/home/rouser/
done <<< "$( cat all_servers.txt )"
【问题讨论】:
-
您考虑阅读
scp's manual page 吗?它非常清楚地记录了一个-B("batch") 选项,该选项似乎专为您的目的而设计。 -
@JohnBollinger 谢谢。实际上我做到了,我完全没有看到那个选项。