Próbuję użyć Expect w skrypcie Bash, aby podać hasło SSH. Podanie hasła działa, ale nie kończę sesji SSH tak, jak powinienem. Wraca cieśniną do Basha.
Mój skrypt:
#!/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"
Wynik mojego skryptu:
spawn ssh -oStrictHostKeyChecking=no -oCheckHostIP=no usr@$myhost.example.com
usr@$myhost.example.com's password: you're out
Chciałbym mieć sesję SSH i dopiero po jej zakończeniu wrócić do mojego skryptu Bash.
Powodem, dla którego używam Bash przed Expect, jest to, że muszę używać menu. Mogę wybrać, z którym urządzeniem / urządzeniem się połączyć.
Tym, którzy chcą odpowiedzieć, że powinienem używać kluczy SSH, wstrzymajcie się.