88 votes

Comment entrer le mot de passe ssh en utilisant bash ?

Tous les jours, je me connecte à un serveur par ssh. Je passe par cette routine :

IC001:Desktop user$ ssh user@my.server.com
user@my.server.com's password: 

Last login: Tue Jun  4 10:09:01 2013 from 0.0.0.0
$

Je voudrais automatiser ce processus et créer un bash script pour le faire à ma place. Je ne me soucie pas de la sécurité et ok pour stocker mon mot de passe ouvertement dans le script. Je suis également d'accord pour qu'il soit tapé ouvertement sur l'écran pendant que le script est exécuté. J'ai donc créé ceci :

#!/bin/bash          
ssh user@my.server.com
echo mypassword

Mais ça ne marche pas. J'ai aussi essayé send au lieu de echo mais cela n'a pas fonctionné non plus. Veuillez me dire s'il est possible de le faire.

184voto

michas Points 6206

Vérifiez à nouveau si vous ne pouvez pas utiliser de clés.

Sinon, utilisez "attendre" :

#!/usr/bin/expect -f
spawn ssh user@my.server.com
expect "assword:"
send "mypassword\r"
interact

95voto

michas Points 6206

Créez une nouvelle paire de clés : (utilisez les valeurs par défaut)

ssh-keygen

Copiez la clé publique sur le serveur : (mot de passe pour la dernière fois)

ssh-copy-id user@my.server.com

A partir de maintenant, le serveur devrait reconnaître votre clé et ne plus vous demander le mot de passe :

ssh user@my.server.com

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X