sshpass, pour ne plus taper le mot de passe de son compte SSH

Twitter Facebook Google Plus Linkedin email

Globalement, que ce soit à titre personnel ou professionnel, l’utilisation de clé privée est la méthode privilégiée pour me connecter via SSH aux différents serveurs sous ma responsabilité. Mais parfois, pour différentes raisons ce n’est peut-être pas possible et le mot de passe reste de rigueur. Mais devoir récupérer un mot de passe stocké quelque part et le copier/coller à chaque fois (les mots de passes sont générés aléatoirement la plupart du temps, c’est dégueulasse à retenir), j’ai cherché à ne plus avoir à les saisir. Et j’ai trouvé.

Un de mes collègues a réussi à utiliser expect. Pour ma part, sans parvenir à comprendre pourquoi, je n’ai pas réussi à le faire fonctionner, du coup, j’ai cherché et trouvé une autre solution : sshpass.

Il est packagé pour la plupart des distributions, ce qui le rend facile à installer. Son utilisation est tout aussi facile : on renseigne le mot de passe dans une variable d’environnement, on lance la commande magique et voilà. Ça, c’est pour la méthode manuelle.

Ce fonctionnement est du coup automatisable facilement. Pour ça il y a plusieurs méthodes, dans les plus évidentes, un script, un alias, ou une fonction. Le script est naturellement à utiliser via un dossier qui est inclus dans le PATH, l’alias ou la fonction seront chargés via le profile ou le bashrc, ou tout autre fichier chargé à l’ouverture du shell.

Pour ma part, j’ai opté pour la fonction, j’ai un fichier .bash_aliases où au final je colle toute sorte de bordel et pas seulement des alias, et vous allez voir que c’est diablement simple :

La beauté du truc, c’est que c’est ça tient compte du fichier de configuration que j’avais présenté il y a déjà deux ans maintenant et qui m’avait d’ailleurs resservi pour l’installation de mon rebond perso. Il sera donc facile de l’utiliser si vous avez également une ou deux brebis galeuses dans votre parc 🙂

2
Poster un Commentaire

avatar
2 Comment threads
0 Thread replies
1 Followers
 
Most reacted comment
Hottest comment thread
2 Comment authors
Cyril BosselutArhuman Recent comment authors
  Subscribe  
plus récents plus anciens
Me notifier des
Arhuman
Invité

Un password dans un fichier !?!
Pourquoi pas ssh-agent qui a le mérite de ne rien stocker sur disque ?

Cyril Bosselut
Invité

Pas très sage de stocker les mots de passe de tes serveurs en clair. Une solution plus élégante serait de les coder via gpg et de procéder au décodage dans tes fonctions. Du coups tu te retrouves avec un comportement similaire à celui avec une clé privée c.a.d un master password. Tu peux également stocker les mots de passe encodés dans des fichiers séparés ou une bdd pour éviter que bash prenne moins de place en mémoire. En tout cas c’est une bonne idée qui démontre encore la puissance du shell 😉