GNU/Linux >> Tutoriels Linux >  >> Linux

Comment utiliser la commande ssh-keygen sous Linux

Utilisez la commande ssh-keygen pour générer une paire de clés d'authentification publique/privée. Les clés d'authentification permettent à un utilisateur de se connecter à un système distant sans fournir de mot de passe. Les clés doivent être générées séparément pour chaque utilisateur. Si vous générez des paires de clés en tant qu'utilisateur root, seul le root peut utiliser les clés.

L'exemple suivant crée les parties publique et privée d'une clé RSA :

# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:z6zTVQ/PJYt2o96DrVYClmfcqBG8Pdb8nzqY2m2HjeY root@geeklab
The key's randomart image is:
+---[RSA 2048]----+
|         .       |
|          o      |
|           * =   |
|          * O B .|
|        S. B + O.|
|         +. = = =|
|         .+ooB+.o|
|        ..oo=Bo+.|
|        .o.+*E=. |
+----[SHA256]-----+

Utilisez l'option –t pour spécifier le type de clé à créer. Les valeurs possibles sont "rsa1 ” pour la version 1 du protocole et “dsa ", "ecdsa ", ou "rsa ” pour la version 2 du protocole.

Vous avez la possibilité de spécifier une phrase de passe pour chiffrer la partie privée de la clé. Si vous cryptez votre clé personnelle, vous devez fournir la phrase secrète chaque fois que vous utilisez la clé. Cela empêche un attaquant, qui a accès à votre clé privée et peut se faire passer pour vous et accéder à tous les ordinateurs auxquels vous avez accès, de pouvoir le faire. L'attaquant doit toujours fournir la phrase secrète.

La commande ssh-key de l'exemple a généré deux clés dans le répertoire ~/.ssh :

$ ls ~/.ssh
id_rsa
id_rsa.pub

Pour vous connecter ou copier des fichiers sur un système distant sans fournir de mot de passe, copiez la clé publique (~/.ssh/id_rsa.pub dans cet exemple) vers ~/.ssh/authorized_keys sur le système distant. Définissez la télécommande ~/.ssh autorisations de répertoire à 700 . Vous pouvez ensuite utiliser les outils ssh ou scp pour accéder au système distant sans fournir de mot de passe.

Pour autoriser plusieurs connexions, ajoutez la clé publique au fichier authorized_keys sur le système distant au lieu de la copier. L'exemple suivant ajoute la clé publique :

$ cat id_rsa.pub >> authorized_keys

Vous pouvez encore améliorer la sécurité du système en désactivant l'authentification par mot de passe standard et en appliquant l'authentification par clé. Pour ce faire, définissez l'option PasswordAuthentication sur no dans le fichier /etc/ssh/sshd_config fichier de configuration comme suit :

# vi /etc/ssh/sshd_config
PasswordAuthentication no

Cela interdit les utilisateurs dont les clés ne sont pas dans les authorized_keys fichier de l'utilisateur spécifique sur le serveur pour se connecter via ssh. La connexion est refusée et le message suivant apparaît :

$ ssh host01
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

La définition de l'option PasswordAuthentication sur yes, qui est la valeur par défaut, permet à un utilisateur d'utiliser un mot de passe pour l'authentification.


Linux
  1. Comment utiliser la commande Linux sed

  2. Comment utiliser la commande Linux grep

  3. Comment utiliser la commande id sous Linux

  4. Comment utiliser la commande "screen" sous Linux

  5. Comment utiliser la commande ssh-keygen pour configurer ssh sans mot de passe

Comment utiliser la commande Linux Ping

Comment utiliser la commande fd sur le système Linux

Comment utiliser la commande wget sous Linux ?

Comment utiliser la commande xargs sous Linux ?

Comment utiliser la commande RPM sous Linux

Comment utiliser la commande which sous Linux