我正在使用脚本从 VM1 登录我的 VM2(VM2 的密码:fifa):
for i in {a..z}{a..z}{a..z}{a..z}
do
# $i as a password
ssh root@ipaddress
read i
echo $i
done
一点它不起作用。它总是要求我输入密码。怎样才能让它自动输入密码呢?
答案1
它要求您输入“密码”,因为该read i
语句正在破坏您的for
循环变量。我相信 ssh 客户端尝试从 tty 读取;我不知道将密码传递给 ssh 的直接方法。替代方案包括 sshpass 和 Expect。看使用明文密码作为参数进行 SSH 登录?和https://stackoverflow.com/questions/233217/pass-password-to-su-sudo-ssh和https://stackoverflow.com/questions/12118308/command-line-to-execute-ssh-with-password-authentication