Expect'i bir Bash komut dosyasında SSH şifresini sağlamak için kullanmaya çalışıyorum. Parolayı sağlamak işe yarıyor, ancak gerektiği gibi SSH oturumuna girmiyorum. Bash'e geri dönüyor.
Senaryom:
#!/bin/bash
read -s PWD
/usr/bin/expect <<EOD
spawn ssh -oStrictHostKeyChecking=no -oCheckHostIP=no usr@$myhost.example.com'
expect "password"
send "$PWD\n"
EOD
echo "you're out"
Komut dosyamın çıktısı:
spawn ssh -oStrictHostKeyChecking=no -oCheckHostIP=no usr@$myhost.example.com
usr@$myhost.example.com's password: you're out
SSH oturumumun olmasını ve yalnızca ondan çıktığımda Bash betiğime geri dönmek istiyorum.
Bash'i Expect'ten önce kullanmamın nedeni, bir menü kullanmak zorunda olmam. Hangi üniteye / cihaza bağlanacağımı seçebilirim.
SSH anahtarlarını kullanmam gerektiğini söyleyenler lütfen çekimser kalsınlar.