Quand vous êtes un utilisateur fréquent de machines distantes, il arrive que ça soit pratique d'optimiser un peu votre client ssh pour ne pas toujours devoir tapper une ligne de commande hyper longue, juste pour se connecter à un serveur. Si vous utilisez votre client ssh comme le commun des mortels, voici la ligne de commande que vous utilisez d'habitude :
login@hote:~> ssh [email protected] Password: login@server:~>
Et je vous propose d'obtenir après quelques manips :
login@hote:~> ssh server login@server:~>
Ce qui est déjà nettement plus court, admettez-le
Faire un alias vers son serveur
Premièrement, nous allons utiliser un raccourci pour ne plus devoir tapper server.domain.extension
, mais juste server
. Pour ça, editez votre fichier /etc/hosts
et modifiez-le en y ajoutant la ligne suivante :
IP_de_votre_serveur nom_desire
Désormais vous pouvez tester en essayant un ssh login@nom_desire
et ça devrait fonctionner
Automatiser le choix du login
Ensuite, voici donc une petite astuce pour ne plus devoir spécifier le nom d'utilisateur si c'est toujours le même. Ca consiste à créer un fichier config dans votre répertoire ~/.ssh. Dans ce dernier vous pouvez spécifier quel utilisateur vous voulez utiliser pour quel serveur.
Host nom_desire User votre_login
Et voilà le travail. Maintenant plus nécessaire de chaque fois écrire des lignes de commandes kilométriques. Votre client SSH vous connait !
Optimiser pour ne plus devoir utiliser de mot de passe
Ca c'est évidement le top, si vous êtes authentifiés sans devoir tapper votre mot de passe. Voici comment faire.
D'abord, commencez par générer une paire de clés pour l'utilisateur que vous êtes.
login@hote:~> ssh-keygen -t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/login/.ssh/id_rsa): Created directory '/home/login/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/login/.ssh/id_rsa. Your public key has been saved in /home/login/.ssh/id_rsa.pub. The key fingerprint is: 3e:4f:05:79:3a:9f:96:7c:3b:ad:e9:58:37:bc:37:e4 login@host
Une fois que vous avez votre clé publique (la clé publique par défaut générée est /.ssh. Maintenant ajoutez votre clé publique à la fin du fichier ~/.ssh/authorized_keys :
login@serveur:~> cat .ssh/id_rsa.pub >> .ssh/authorized_keys
Remarque : Notez le ">>" qui permet d'ajouter la clé publique sans supprimer les clés qui pourraient éventuellement déjà s'y trouver.
Désormais vous pouvez vous connecter sur le serveur sans plus utiliser de mot de passe :
login@hote:~> ssh server