web-dev-qa-db-fra.com

Comment entrer le mot de passe ssh en utilisant bash?

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

IC001:Desktop user$ ssh [email protected]
[email protected]'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 script bash pour le faire pour moi. Je me fiche de la sécurité et peux enregistrer mon mot de passe ouvertement dans le script. Je suis également d'accord pour qu'il soit ouvert dactylographié à l'écran pendant l'exécution du script. J'ai donc créé ceci:

#!/bin/bash          
ssh [email protected]
echo mypassword

Mais ça ne marche pas. J'ai aussi essayé send au lieu de echo, mais cela n'a pas fonctionné. S'il vous plaît aviser s'il est possible de faire.

81
Prostak

Vérifiez si vous ne pouvez pas utiliser les clés.

Sinon, utilisez normalement:

#!/usr/bin/expect -f
spawn ssh [email protected]
expect "assword:"
send "mypassword\r"
interact
176
michas

Créer une nouvelle paire de clés: (aller avec 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 [email protected]

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

ssh [email protected]
93
michas