Remarque : Cet article a été publié à l’origine en 2018. Certaines étapes, commandes ou versions de logiciels peuvent avoir changé. Consultez la documentation actuelle pour les informations les plus récentes.
Prérequis
Avant de commencer, assurez-vous d’avoir :
- Un système exécutant Ubuntu (édition bureau ou serveur)
- Un accès au terminal avec des privilèges sudo
- Une connaissance de base de la ligne de commande Linux
Vous venez probablement d’un article connexe précédent ((</linux/ubuntu/resolved-permission-denied-publickey-when-trying-to-access-via-ssh-an-ubuntu-server/>)), mais si ce n’est pas le cas, vous devriez y jeter un coup d’oeil pour comprendre pourquoi vous pourriez vouloir stocker votre clé publique SSH en dehors de votre répertoire personnel. Je ne suis pas un expert en sécurité, donc cette pratique n’est peut-être pas idéale sur un serveur partagé, mais dans mon scénario, tous les utilisateurs sont de confiance, donc stocker les clés publiques SSH des utilisateurs ailleurs était un choix acceptable.
Comment stocker votre clé publique SSH dans un répertoire différent
La clé se trouve dans le fichier de configuration situé à /etc/ssh/sshd_config. Nous allons chercher le paramètre suivant : RSAAuthentication yes PubkeyAuthentication yes #AuthorizedKeysFile %h/.ssh/authorized_keys Cette dernière ligne est l’élément clé ici. Actuellement, elle est commentée, mais vous pouvez voir le comportement par défaut du programme : %h signifie le dossier personnel, il stockera donc dans le dossier personnel de chaque utilisateur les authorized_keys dudit utilisateur. Dans mon cas, le dossier personnel était chiffré et j’obtenais continuellement une erreur ”(</linux/ubuntu/resolved-permission-denied-publickey-when-trying-to-access-via-ssh-an-ubuntu-server/>)” en essayant de me connecter en SSH à mon serveur, car le service SSH ne pouvait pas déchiffrer mon dossier personnel et valider ma/mes clé(s) publique(s). La solution ? J’ai déplacé les clés vers un autre emplacement, prenez cet exemple : /etc/ssh/authorized_keys/%u. Ce que cela fait, c’est stocker dans le dossier /etc/ qui est lisible par le service, les clés autorisées de chaque utilisateur dans un fichier portant leur nom d’utilisateur. Voici donc à quoi ressemblerait la ligne : AuthorizedKeysFile /etc/ssh/authorized_keys/%u Ainsi, comme chaque utilisateur doit pouvoir écrire dans le dossier pour stocker ses clés, vous devez le rendre accessible en écriture pour eux, ou vous devez créer manuellement les fichiers et définir leurs propriétaires respectifs. Si vous avez beaucoup d’utilisateurs, la première option est la plus logique, mais si vous n’en avez que quelques-uns, créez simplement les fichiers et les permissions manuellement pour plus de sécurité. Redémarrez le service et vous verrez que tout fonctionne à nouveau comme prévu. J’espère que cela vous sera utile !
Résumé
Vous avez appris avec succès à stocker votre clé publique SSH dans un répertoire différent. Si vous rencontrez des problèmes, vérifiez les prérequis et assurez-vous que votre environnement SSH est correctement configuré.
Articles connexes
- [Resolved: ](/resolved-permission-denied-publickey-when-trying-to-access-via-ssh-an-ubuntu-server/)
- How to: Add or Remove Symbolic links in Ubuntu
- How to: Assign multiple IP addresses to one interface in Ubuntu using the Command Line Interface (CLI)?
- How to: Build your own version of NginX