GNU/Linux >> Tutoriels Linux >  >> Linux

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

Utilisez le ssh-keygen commande 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.

Génération de clés et configuration de ssh sans mot de passe avec la commande ssh-keygen

1. Utilisez le -t option pour spécifier le type de clé. Exemple :

# 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:
3a:b8:10:71:b7:ee:66:15:0f:a2:b0:89:ef:65:0b:f0 root@geeklab
The key's randomart image is:
+--[ RSA 2048]----+
|                 |
|                 |
|  . . .          |
|  .o ...o        |
|...+ ...S+       |
|.oo..o .. .      |
| .E + +.         |
|  .= +o.         |
| .. oo.          |
+-----------------+

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

2. Vous avez la possibilité de spécifier une phrase secrète 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.

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

$ ls ~/.ssh
id_rsa
id_rsa.pub

4. 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) à ~/.ssh/authorized_keys sur le système distant. Définissez les autorisations du répertoire distant ~/.ssh sur 700 . 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

5.Vous pouvez ensuite utiliser les outils ssh ou scp pour accéder au système distant sans fournir de mot de passe.

Application de l'authentification par clé

1. 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 le PasswordAuthentication possibilité de non dans le /etc/ssh/sshd_config fichier de configuration comme suit :

# vi /etc/ssh/sshd_config
PasswordAuthentication no

2. 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 remote_host
Permission denied (publickey,gssapi-keyex,gssapi-with-mic).

3. Définition de PasswordAuthentication option sur oui , 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 grep

  2. Comment utiliser la commande history sous Linux

  3. Comment utiliser la commande basename ?

  4. Comment utiliser la commande "screen" sous Linux

  5. Comment utiliser la commande ssh-keygen sous Linux

Comment utiliser la commande Linux Ping

Comment utiliser la commande nmap

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