Je me suis récemment retrouvé face à une problématique qui m’a fait découvrir des options de configuration de SSH. Dans l’article où je vous explique comment configurer SSH, je vous indique la commande à utiliser pour spécifier l’emplacement de la clé privée et comment changer le port de connexion. Il y a en fait une solution plus simple, avec SSH config.
Utiliser SSH config
Cette méthode fonctionne de la même façon sur Linux et sur Windows. Pour commencer il faut créer un fichier dans votre dossier .ssh
Pour Windows, rendez-vous dans le dossier .ssh
C:\Users\$VOTRE_UTILISATEUR\.ssh
Ensuite, clique droit, Nouveau > Document texte, appelez le fichier config.
Sur Linux, connectez-vous sur l’utilisateur que vous souhaitez utiliser
cd cd .ssh touch config nano config
Nous allons maintenant indiquer la configuration que nous souhaitons utiliser. Cette étape est la même pour Windows et Linux
Host FooBar Hostname 192.168.X.X Port XXXX User votre_utilisateur IdentityFile ~/.ssh/clé_privée
Explications :
Host : L’alias à utiliser lorsque vous voudrez vous connecter. Vous pouvez mettre n’importe quoi, SSH ira juste chercher les information dans ce bloc.
Hostname : L’adresse IP sur laquelle vous souhaitez vous connecter
Port : Le port à utiliser si vous n’utilisez pas le 22
User : L’utilisateur sur lequel vous souhaitez vous connecter
IdentityFile : L’emplacement de la clé privée
Vous pouvez ajouter autant d’Host que vous voulez.
Sur Linux vous pouvez quitter et enregistrer le fichier. Pour Windows il reste encore une petite étape, supprimer l’extension de fichier .txt
Si les extensions de fichier ne sont pas affichées, dans l’explorateur Windows :
Affichage > Afficher/Masquer > Cocher Extensions de noms de fichiers. L’extension des fichiers sera affichée, il ne vous reste plus qu’à supprimer le .txt de votre fichier, puis confirmer que vous souhaitez changer l’extension.
Maintenant que votre fichier config est créé et renseigné, vous pouvez vous connecter via cette commande (remplacer FooBar par votre host :
ssh FooBar
Voilà ! Vous pouvez maintenant vous connecter en toute simplicité sans devoir indiquer tous les paramètres de connexion !
Autoriser une clé privée depuis une adresse IP spécifique
J’ai aussi eu besoin de me connecter en SSH à un utilisateur qui normalement ne devrait pas pouvoir se connecter de cette manière, je voulais donc limiter au maximum la possibilité d’utiliser la paire de clés SSH générée. Cette solution est assez pratique si vous souhaitez utiliser un programme comme rsync.
Pour ce faire, ajoutez votre paire de clés comme indiqué ici. Dans le fichier authorized_keys vous devez ajouter une petite option, ce qui donne ceci :
from="192.168.1.* 172.168.52.7" ssh-rsa VOTRE_CLÉ_PUBLIQUE
Vous pouvez ajouter plusieurs IP comme dans l’exemple ou seulement une seule, à vous de voir par rapport à votre besoin.
C’est fini pour ce petit tuto, je reviens prochainement avec de nouveaux tips pour apprendre à utiliser votre système Debian, Raspberry, Ubuntu et bien d’autres !