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.
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
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]