Cette procédure indique comment ajouter une clé publique aux autorisations d’accès SSH d’un serveur Linux.

Prérequis

  1. L’utilisateur doit déjà avoir l’accès SSH à la machine cible de l’ajout, par clé publique ou par mot de passe.
  2. L’utilisateur doit avoir la chaîne ssh-* de la clé publique de l’utilisateur. Classiquement composé de trois parties : le type de clé, la clé en base64 et un commentaire indiquant la provenance de la clé.

Ajout de la clé

  1. Se connecter en SSH à la machine ;
  2. Vérifier l’existence du dossier .ssh dans le dossier d’accueil : stat ~/.ssh. Le propriétaire doit être l’utilisateur et son groupe, les permissions 0700 ;
  3. Si besoin, créer le dossier avec (umask 077; mkdir ~/.ssh) ;
  4. Ajouter à la fin du fichier authorized_keys la nouvelle clef à l’aide de la commande (umask 0700; cat >> ~/.ssh/authorized_keys) ;
  5. Coller la clé avec un saut de ligne à la fin et appuyer sur CTRL+D ;
  6. Fermer le terminal ;
  7. Faire tester ;

Si le test ne fonctionne pas, vérifier les journaux systèmes et la configuration sshd. Il est possible que le nom du fichier doivent être authorized_keys2 ou qu’il soit ailleurs. Il faut alors ajuster les commandes.

Aller plus loin

Lorsque l’on souhaite donner l’accès pour un utilisateur différent, il est préféré de se faire passer pour l’utilisateur avec su -l avant d’exécuter les commandes. Dans le cas contraire, il faudra définir les permissions correctement pour que l’utilisateur cible soit le propriétaire du dossier .ssh et du fichier authorized_keys, que le groupe soit à sont groupe principal et que les permissions soient 0700.