使用する sshpass
sshpass ( github , page de manuel ) est un outil qui fournit automatiquement le mot de passe à ssh. La façon la plus sûre de l'utiliser est la suivante :
% echo 'correct horse battery staple' > ~/.ssh/compute_password
% chmod go-rw ~/.ssh/compute_password
% sshpass -f ~/.ssh/compute_password ssh foo@host
Cette opération permet de lire le mot de passe à partir de ~/.ssh/compute_password
comme un fichier de clé privée sans phrase de passe. Vous pouvez mettre le fichier sshpass
dans un petit Shell Shell ou un alias Shell pour éviter de taper la commande complète. Malheureusement, je n'ai pas trouvé de moyen de faire cela à partir de ~/.ssh/config
.
(Il est également possible de spécifier le mot de passe directement sur la ligne de commande à sshpass
mais cela devrait être évité, car le mot de passe est divulgué à quiconque peut le faire. ps
)
Comparaison avec d'autres méthodes
Cette approche est bien sûr moins sûre qu'une authentification par clé publique correctement mise en place, mais vous le savez probablement déjà.
C'est également moins sûr que la réponse de @grawity concernant la réutilisation de la connexion, mais cela présente l'avantage de ne pas avoir à saisir le mot de passe de manière interactive.
Vous pouvez considérer la réponse de @grawity comme une alternative à l'authentification par clé publique avec une phrase de passe et la mise en cache de la clé privée (c.-à-d. ssh-agent
). Dans ce cas, ma réponse serait une alternative à l'authentification par clé publique sans phrase d'authentification dans le fichier de la clé privée.