Ввод пароля в сквозном цикле
Сценарий, как у меня есть список корневых паролей. Но я не хочу продолжать пытаться вручную. Итак, я написал сценарий оболочки:
для меня в {1..26}
делать
су - >> результат
сделанный
и все мои пароли находятся в файле "try.txt".
Теперь в командной строке введите команду:
bash p2.sh
Но он показывает ошибки: "Стандарт в должен быть tty"
Так есть ли способ, которым я могу ввести эти пароли с помощью некоторых кодов или команд, не вводя вручную каждый из них? Расскажите, пожалуйста, о подходе командной строки вместо какого-либо продвинутого программного обеспечения. Я в этом для обучения. Спасибо:)
1 ответ
Вы можете проверить пароль, установив соединение 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