Autonomie numérique et technologique

Code et idées pour un internet distribué

Configuration d’un accès SSH plus sécurisé à un serveur : authentification par clé publique

Imago voragine.net

L’authentification par clé publique pour se connecter à un serveur distant en utilisant le protocole SSH fonctionne avec deux clés : une publique et une privée. Pour comprendre son fonctionnement, la métaphore du cadenas et de la clé est souvent utilisée. La clé publique fonctionne comme un cadenas et la clé privée comme la clé. Le cadenas sera placé sur le serveur distant auquel vous voulez accéder ; lorsque vous essayez d’y accéder, il vérifiera que la machine qui essaie de se connecter possède la clé, la clé privée.

Pour configurer l’accès SSH avec la clé publique vous devez :

  • Générer la paire clé publique/clé privée.
  • .

  • Copier la clé publique sur le serveur.
  • .

  • Désactiver l’accès au serveur avec mot de passe.
  • .

Comment générer la paire clé publique/clé privée

Pour générer les clés, vous pouvez utiliser ssh-keygen sur la machine locale depuis laquelle vous voulez vous connecter au serveur :

ssh-keygen demande le chemin et le nom du fichier qui hébergera les clés publiques et privées. Vous pouvez sauvegarder où vous voulez, mais le dossier doit avoir 700 permissions et le fichier avec la clé privée 600, sinon la connexion ne sera pas établie. La clé privée peut également être protégée par un mot de passe. De cette façon, s’il tombe entre des mains non désirées, vous aurez un peu plus de difficulté à l’utiliser.

ssh-keygen génère deux fichiers :

  • id_rsa est la clé privée, qui restera sur la machine locale.
  • .

  • id_rsa.pub est la clé publique, qui doit être copiée sur le serveur distant auquel vous voulez accéder.

Copier la clé publique sur le serveur

Une fois la paire de clés générée sur la machine locale, la clé publique doit être copiée sur le serveur distant :

La clé publique doit être incluse dans le fichier /home/user/.ssh/authorized_keys. Si le dossier.ssh n’existe pas, nous le créons avant de le copier, ainsi que le fichier authorized_keys :

Enfin, copiez la clé et supprimez le fichier copié sur le serveur :

Désactiver l’accès au serveur avec le mot de passe

.
Une fois que vous avez activé l’accès SSH par clé publique, vous pouvez désactiver l’accès par mot de passe. Cela augmentera la sécurité, mais implique qu’en cas de perte de la clé privée, l’accès au serveur sera perdu : la clé privée doit être soigneusement stockée.

La configuration de serveur SSH se trouve dans le fichier /etc/ssh/sshd_config. Pour désactiver l’accès SSH avec mot de passe ajouter la ligne suivante, éditer le fichier en tant que root :

Pour augmenter la sécurité, deux réglages supplémentaires peuvent être effectués dans le fichier /etc/ssh/sshd_config :

Désactive l’accès ssh pour l’utilisateur root :

Donnez l’accès SSH uniquement aux utilisateurs qui en ont besoin, et non à tout le monde :

Une fois les modifications effectuées, le serveur SSH doit être redémarré, toujours en tant que root :

Accéder au serveur avec la clé publique

.
Pour se connecter au serveur avec une clé publique au lieu d’un mot de passe :

Nous pouvons spécifier la clé privée à utiliser avec l’option -i :

Autor
Share

Dejar un comentario

No hay comentarios en esta entrada.
*
*

 

No hay trackbacks