GNU/Linux >> Tutoriels Linux >  >> Linux

Activer l'authentification par clé publique SSH

Cet article décrit la procédure de configuration d'une authentification par clé publique Secure Shell (SSH).

  1. Connectez-vous au serveur.

  2. Vérifiez que l'utilisateur existe :

     `getent passwd <username>`
    
  3. 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.

  4. 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.

  5. 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`
    
  6. Passez à .ssh/ répertoire et authorized_keys fichier :

     ```cd .ssh/
     vim authorized_keys
     ll```
    
  7. Ajoutez la clé publique SSH à la fin des authorized_keys fichier :

     `vim authorized_keys`
    
  8. 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.

  1. 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
    
  2. Ouvrez le sshd_config fichier :

     `vim /etc/ssh/sshd_config`
    
  3. Trouvez PubkeyAuthentication paramètre et réglez-le sur oui. Si la ligne est commentée, supprimer tous les indicateurs de commentaire (# ).

  4. Trouvez PasswordAuthentication paramètre dans le même fichier et définissez-le sur no .

  5. Enregistrez les modifications apportées au fichier et quittez le fichier.

  6. Vérifiez la syntaxe en utilisant sshd -t . S'il n'y a pas d'erreurs, rechargez sshd :

     `service sshd reload`
    

Remarques supplémentaires :

  1. 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 sur 700 . Les fichiers authorized_keys fonctionnent également avec 644 autorisations, mais 600 est plus sécurisé.

Linux
  1. Comment configurer l'authentification basée sur une clé SSH sous Linux

  2. Un peu de magie de copie de fichier SSH en ligne de commande

  3. Ssh – Restreindre un utilisateur Ssh/scp/sftp à un répertoire ?

  4. Ssh - Passer des mots de passe à un script ?

  5. Importer la clé Ssh en tant que sous-clé Gpg à utiliser pour l'authentification Ssh ?

Comment utiliser l'authentification par clé publique avec SSH

Comment configurer la clé publique et privée SSH sous Linux

Comment configurer l'authentification basée sur la clé Ssh pour Github en utilisant le fichier ~/.ssh/config ?

Comment ajouter une clé publique SSH au serveur

Comment convertir la clé privée de PuTTY (.ppk) en clé SSH

Ajouter la clé publique au fichier known_hosts