Documentation technique : Debian
Documentation basée sur la distribution Debian

> > Sécurisation SSH poussée : authentification par clé DSA

Également dans les rubriques : Premières sécurisations, Sécurité

Sécurisation SSH poussée : authentification par clé DSA

L’authentification sur un serveur à l’aide d’une clé publique / privée a plusieurs avantages. Le premier est de permettre de se connecter au serveur sans utiliser de mot de passe. Le second est d’offrir une meilleure sécurité si l’on supprime la possibilité de se connecter par login/mot de passe et que l’on force les utilisateurs à utiliser ce système de clé.

La création de la paire de clé

Dans un premier temps, il est nécessaire de créer une clé publique privée sur sa machine en utilisant cette commande :

  1. ssh-keygen -t dsa

La commande demandera ou installer la clé privée, laissez l’emplacement par défaut à savoir /home/votre_user/.ssh/id_dsa.

Puis elle vous demandera un mot de passe qui servira plus tard pour s’authentifier au serveur.

En plus de la clé privée, la commande créera votre clé publique dans ~/.ssh/id_dsa.pub.

NB : Si vous souhaitez par la suite modifier le mot de passe de la clé, il faudra utiliser la commande :

  1. ssh-keygen -p -t dsa

Dans le cas où votre machine utilise le système d’exploitation Windows, il vous faudra utiliser PuTTYgen pour la génération de vos clés.

La copie de votre clé publique sur le serveur

Afin de pouvoir utiliser cette clé pour s’authentifier au serveur souhaité, il est nécessaire de la copier dans les clés autorisées du compte utilisateur sur le serveur.

Il est donc nécessaire de se connecter au serveur :

  1. ssh user@mon_serveur

NB : "mon_serveur" est l’IP du serveur ou un FQDN qui pointe vers le serveur.

Puis de créer s’il n’existe pas, le répertoire .ssh à la racine du répertoire utilisateur :

  1. mkdir ~/.ssh

On va ensuite ajouter au fichier ~/.ssh/authorized_keys les clés autorisées à se connecter, on ouvre donc ce fichier en édition :

Puis d’y coller le contenu de notre clé publique contenue dans le fichier ~/.ssh/id_dsa.pub contenue sur la machine cliente.

Dans le cas ou l’accès ssh par login / mot de passe simple est désactivé, l’intervention d’un administrateur ou d’une autre personne ayant l’autorisation de se connecter en tant que cet utilisateur est nécessaire.

Pour les utilisateurs ayant un client SSH récent et disposant de la commande ssh-copy-id, cette action peut être effectuée plus simplement en utilisant la commande suivante qui transfèrera la clé automatiquement sans nécessité de copier / coller manuellement :

  1. ssh-copy-id -i ~/.ssh/id_dsa.pub user@mon_serveur

Lors du simple ajout de clé (sans autre modifications de la configuration), il est nécessaire de redémarrer le server openssh afin qu’il prenne en compte le nouveau client.

  1. sudo /etc/init.d/ssh restart

Désactivation de la méthode d’authentification par mot de passe

Maintenant que notre clé est installée, on peut désactiver la méthode d’authentification par mot de passe. Il suffit d’éditer sur le serveur le fichier de configuration du serveur ssh :

  1. sudo nano /etc/ssh/sshd_config

Puis d’ajouter ou modifier la ligne :

  1. PasswordAuthentication no

Puis de redémarrer le serveur ssh :

  1. sudo /etc/init.d/ssh restart

Dorénavant seuls les utilisateurs autorisés à se connecter par clé pourront avoir accès au serveur et donc toute tentative d’intrusion étrangère sera rejetée.

NB : Il semble qu’il y ait un bug sur ubuntu, lorsque l’authentification par mot de passe est désactivée, il est impossible de se connecter au serveur et on obtient le message Permission denied (publickey). . La solution est d’utiliser la commande suivante pour se connecter :

  1. SSH_AUTH_SOCK=0 ssh mon_serveur

NB2 : Il est à noter que les clés sont valables pour une machine et un utilisateur particulier.

Aller plus loin :

Pour protéger un peu plus son système, il peut être efficace d’utiliser le logiciel fail2ban. Un tutoriel d’installation a été réalisé par Fil ici, un autre sur ce même site.

  • Auteur :
  • Publié le :
  • Mis à jour : 19/10/12

Aucun commentaire


Qui êtes-vous ?
  • [Se connecter]
Ajoutez votre commentaire ici
  • Ce formulaire accepte les raccourcis SPIP [->url] {{gras}} {italique} <quote> <code> et le code HTML <q> <del> <ins>. Pour créer des paragraphes, laissez simplement des lignes vides.