我正在尝试使用以下小脚本将ssh公钥复制到我网络上的所有主机
#!/bin/bash
for ip in $(nmap -n -sn 192.0.2.0/24 -oG - | awk '/Up$/{print $2}'); do
ssh-copy-id vagrant@$ip
done
但是,它要求每个IP的密码,在执行脚本之前该计数是未知的。如何让这个脚本自动输入密码(在这种情况下对所有主机都是一样的)?
答案 0 :(得分:0)
使用sshpass
。请注意,在脚本中存储密码不是一个好主意,但它可以完成设置的工作:
#!/bin/bash
for ip in $(nmap -n -sn 192.0.2.0/24 -oG - | awk '/Up$/{print $2}'); do
sshpass -p password ssh-copy-id vagrant@$ip
done