Cet article décrit la procédure de configuration d'une authentification par clé publique Secure Shell (SSH).
-
Connectez-vous au serveur.
-
Vérifiez que l'utilisateur existe :
`getent passwd <username>`
-
Recherchez la valeur attribuée au AuthorizedKeysFile paramètre dans /etc/ssh/sshd_config pour déterminer le fichier dans lequel la clé est stockée :
`grep AuthorizedKeysFile /etc/ssh/sshd_config`
Remarque :L'emplacement par défaut est ~/.ssh/authorized_keys dans le répertoire d'accueil par défaut de l'utilisateur.
-
Basculer vers le répertoire personnel de l'utilisateur :
`cd /directory-path`
Remarque :Remplacez chemin_répertoire avec le chemin du répertoire personnel de l'utilisateur.
-
Vérifiez les niveaux d'autorisation pour le .ssh/ annuaire. Il devrait avoir
0700
autorisations et appartenir à l'utilisateur.`ls .ssh`
un. Si le répertoire n'existe pas, créez-le et définissez les autorisations sur
0700
:`mkdir -m 700 .ssh`
b. Si le répertoire existe, vous pouvez définir la propriété séparément :
`chmod 700 .ssh/` `chown -R username:username /path/to/home/.ssh`
-
Passez à .ssh/ répertoire et authorized_keys fichier :
```cd .ssh/ vim authorized_keys ll```
-
Ajoutez la clé publique SSH à la fin des authorized_keys fichier :
`vim authorized_keys`
-
Modifier les autorisations à
600
et assurez-vous que le fichier est bien propriétaire :`chmod 600 authorized_keys` `chown -R username:username authorized_keys`
Désactiver l'authentification par mot de passe
Si vous souhaitez que tous les utilisateurs se connectent avec des clés publiques et non des mots de passe, vous pouvez désactiver l'authentification par mot de passe.
Important :La désactivation de l'authentification par mot de passe verrouille les utilisateurs qui ont utilisé un mot de passe pour accéder au serveur si l'authentification SSH n'est pas configurée pour leur compte.
-
Créez une sauvegarde de sshd_config fichier avant d'apporter des modifications :
mkdir /home/username/backup cp /etc/ssh/sshd_config /home/username/backup/sshd_config.bak
-
Ouvrez le sshd_config fichier :
`vim /etc/ssh/sshd_config`
-
Trouvez PubkeyAuthentication paramètre et réglez-le sur oui. Si la ligne est commentée, supprimer tous les indicateurs de commentaire (
#
). -
Trouvez PasswordAuthentication paramètre dans le même fichier et définissez-le sur
no
. -
Enregistrez les modifications apportées au fichier et quittez le fichier.
-
Vérifiez la syntaxe en utilisant
sshd -t
. S'il n'y a pas d'erreurs, rechargezsshd
:`service sshd reload`
Remarques supplémentaires :
- Le fichier de clé privée sur votre poste de travail local (côté client) doit avoir des autorisations définies sur
600
, et le .ssh répertoire doit avoir les autorisations définies sur700
. Les fichiers authorized_keys fonctionnent également avec644
autorisations, mais600
est plus sécurisé.