我有一个IP地址列表,我的最终目标是ssh到每个地址,并一次一个地重置它们。我被要求使用Linux / Bash,我不是很熟悉。我的代码现在将从列表中获取第一个IP,并连接到它,但它永远不会移动到那一点。我认为问题介于read oneip3
和do
代码之间。非常感谢任何帮助。
我运行此脚本的方式如下:(我在单独的文本文件中有一个IP地址列表):
./runscript.txt ip_list.txt
while read oneip3
do
(sleep 5
echo "yes\r"
sleep 3
echo -e "password\r"
sleep 3
echo -e "reset\r"
sleep 3
echo -e "yes\r"
sleep 20
echo -e "\r"
) | ssh -t -t -oHostKeyAlgorithms=+ssh-dss admin@$oneip3
done < $1
答案 0 :(得分:0)
您没有提供SSH参数。所以它打开了一个交互式shell。 被卡在第一台机器上是一个很好的理由(也许还有其他原因......)
试试这个来调试
... | ssh -t -t -oHostKeyAlgorithms=+ssh-dss "admin@$oneip3" pwd
关于StrictHostKeyChecking接缝的评论中的其他评论也很好(如果你真的担心安全问题,你可以先手动部署所有需要的密钥)