Em geral (ignorando o vagrant ou outros detalhes específicos do sistema), sua melhor opção é configurar a autenticação com chaves SSH e executar ssh-agent
. Em seguida, abra as sessões do ssh com algo como:
# load the key to the agent with a 10 s timeout
# this asks for the key passphrase
ssh-add -t10 ~/.ssh/id_rsa
for x in 1 2 3 ; do
ssh ....
done
Ou, se você não pode usar as teclas, pode improvisar algo com sshpass
.
read -p "Enter password: " -s SSHPASS ; echo
for x in 1 2 3 ; do
sshpass -e ssh ...
done
unset SSHPASS
Embora com o terminal no meio, isso deixaria a senha definida no ambiente do terminal. Para contornar isso, você pode salvar a senha temporariamente em um arquivo:
read -p "Enter password: " -s SSHPASS ; echo
PWFILE=~/.ssh/secret_password
cat <<< "$SSHPASS" > "$PWFILE"
unset SSHPASS
for x in 1 2 3 ; do
sshpass -f "$PWFILE" ssh ...
done
shred --remove "$PWFILE"
Isso ainda não é o ideal, pois há uma chance de a senha atingir o disco, portanto, as chaves seriam melhores.