Cookie

Authentification SSH avec clés

Publié par TheJoe sur

Temps de lecture estimé: 2 minutes

Attention


Cet article a été publié il y a plus d'un an, il peut y avoir des développements été.
S'il vous plaît prendre en compte.

Le protocole SSH (Enveloppe de protection) est un protocole crypté utilisé pour établir des connexions sécurisées entre deux machines: client e server. En soi, c'est déjà un protocole assez sécurisé, mais avec les clés SSH, vous ne pouvez fermer l'accès SSH qu'à des machines spécifiques. Voici comment faire.

Dans ce mini-guide nous allons voir comment mettre en place un accès SSH à une machine “serveur” en s'authentifiant sans mot de passe. Avec cette configuration, seuls ceux qui ont les bonnes clés SSH pourront accéder au serveur. Dans cet exemple, nous utiliserons les adresses IP suivantes:

  • Client: 192.168.5.114
  • Serveur: 192.168.5.10

L'une des exigences fondamentales est que l'utilisateur qui génère la clé SSH ait un compte activé et appartienne au groupe sudoers sur les deux machines.

Générer la clé sur le serveur

Nous générons d'abord la clé SSH sur le serveur. Connectez-vous au serveur (soit directement, soit via SSH traditionnel) et exécutez cette commande.

~$ ssh-keygen -t rsa

Pendant la création de la clé, nous aurons la possibilité d'associer ou non un mot de passe. Je recommande d'associer le mot de passe à moins qu'il n'y ait des obstacles particuliers tels que devoir désactiver le mot de passe lors de la connexion. Dans tous les cas, nous aurons deux possibilités à la fois sûres.

Copiez la clé sur le client

Une fois la commande terminée, nous devrons en lancer une autre pour copier la clé générée sur le client.

~$ ssh-copy-id -i $HOME/.ssh/id_rsa.pub USER@192.168.5.114

USER est l'utilisateur enregistré sur le client que nous utiliserons pour nous connecter au serveur.

Je suppose que ces opérations sont effectuées dans un réseau local, mais si ce n'est pas le cas, il faut trouver un moyen de copier la clé générée dans ~/.ssh/id_rsa.pub dans le client utilisé via par exemple un partage FTP, un e-mail ou même un trou de ver.

Regardez ici:  Linux4one: projet suspendu indéfiniment

Testez la connexion

A terme il sera temps de tester le fonctionnement réel. Nous retournons au client et lançons la commande:

~$ ssh -v USER@192.168.5.10

USER est l'utilisateur qui écoute sur le serveur.

Si nous avons configuré la clé SSH sans mot de passe, nous serons immédiatement connectés au serveur, au contraire si nous avons mis un mot de passe à la clé, ce sera nécessaire maintenant.

Désactiver l'authentification par mot de passe utilisateur

Si nous nous sommes connectés avec succès au serveur, nous voudrons peut-être configurer l'accès pour ne pas accepter les connexions via le mot de passe de l'utilisateur. Ouvrez le fichier /etc/ssh/sshd_config avec un éditeur et ajoutez une ligne au bas du fichier comme suit:

PasswordAuthentication no

Nous redémarrons le service SSH:

~$ sudo service ssh restart

Maintenant, si nous essayons de nous reconnecter au serveur, nous ne pourrons pas le faire sans la clé SSH générée. Une fois que nous sommes sûrs que tout fonctionne correctement, nous pouvons partager la clé (en utilisant la commande ssh-copy-id dal serveur) avec les utilisateurs auxquels nous voulons accorder l'accès.

Si le seul moyen d'accéder au serveur est via SSH, attention à ne pas perdre les clés, ou nous ne pourrons pas entrer dans la voiture.


TheJoe

Je garde ce blog comme un hobby par 2009. Je suis passionné de graphisme, la technologie, logiciel Open Source. Parmi mes articles ne sera pas difficile de trouver de la musique, et quelques réflexions personnelles, mais je préfère la ligne directe du blog principalement à la technologie. Pour plus d'informations me contacter.

0 commentaires

Laisser un commentaire

Espace réservé d'avatar

Votre adresse email ne sera pas publiée. les champs requis sont indiqués *

Ce site utilise Akismet pour réduire le spam. Découvrez comment vos données de commentaire est traité.