J'essaie d'utiliser Expect dans un script Bash pour fournir le mot de passe SSH. Fournir le mot de passe fonctionne, mais je ne me retrouve pas dans la session SSH comme je le devrais. Il remonte le détroit à Bash.
Mon scénario:
#!/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"
La sortie de mon script:
spawn ssh -oStrictHostKeyChecking=no -oCheckHostIP=no usr@$myhost.example.com
usr@$myhost.example.com's password: you're out
Je voudrais avoir ma session SSH et, seulement quand je la quitte, retourner à mon script Bash.
La raison pour laquelle j'utilise Bash avant Expect est que je dois utiliser un menu. Je peux choisir à quel appareil / appareil me connecter.
À ceux qui veulent répondre que je devrais utiliser des clés SSH, veuillez vous abstenir.