10. August 2021 - verfasst von Oliver Gaida - Kategorien: ["bash", "expect"]
ssh testen mit verschiedenen Kombinationen von Username und Passwort
Voraussetzungen
Installation von expect
apt install expect auf ubuntu oder auf dem mac brew install expect
Expect-Skript erstellen
vim test_ssh_login
#!/usr/bin/expect -f
set username [lindex $argv 0]
set password [lindex $argv 1]
set hostname [lindex $argv 2]
spawn ssh -oNumberOfPasswordPrompts=1 "${username}@${hostname}" "uname -a"
expect "assword:"
send "${password}\r"
interact
Shellscript Anlegen
vim make_login_test.sh
#!/usr/bin/env bash
host=$1
for user in user1 user2 user3
do
for password in '123?!' '?!123'
do
expect test_ssh_login "$user" "$password" $host | grep -i x86 > /dev/null && echo "user $user with password $password has been successful done"
done
done
Ausführbar machen mit chmod 750 make_login_test.sh
Test Ausführen
./make_login_test.sh myserver