GNU/Linux >> Tutoriels Linux >  >> Linux

Comment éviter que ssh ne demande la phrase secrète de la clé pour les connexions sans mot de passe

Le programme ssh-agent est un agent d'authentification qui gère les mots de passe pour les clés privées SSH. Utilisez ssh-add pour ajouter les clés à la liste maintenue par ssh-agent. Après avoir ajouté un mot de passe de clé privée à ssh-agent, vous n'avez pas besoin de le saisir chaque fois que vous vous connectez à un hôte distant avec votre clé publique.

Génération de paires de clés d'authentification

Utilisez le ssh-keygen pour générer des paires de clés d'authentification comme décrit ci-dessous. Fournissez une phrase de passe, par exemple "mot de passe", lors de la création des paires de clés.

# ssh-keygen 
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:4lYqkqgXmhIxoyMdT+ZfGFCxeMUqTnXLjrRQKjbEC/U root@geeklab
The key's randomart image is:
+---[RSA 2048]----+
| o.  .oo.        |
|. o...ooo        |
| o .E=o+ .       |
|+ * B.+ o        |
|.* @ +.*S        |
|=.o.+.++o        |
|o=o...+.         |
|= .. o.          |
|o.               |
+----[SHA256]-----+

Copiez la clé publique sur l'hôte distant

1. Copiez la clé publique dans ~/.ssh/authorized_keys sur le système distant.

# ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]

2. Maintenant, essayez de vous connecter à la machine, avec "ssh '[email protected]′", et vérifiez le .ssh/authorized_keys fichier pour nous assurer que nous n'avons pas ajouté de clés supplémentaires auxquelles vous ne vous attendiez pas.

$ ssh 192.168.12.10
Enter passphrase for key '/root/.ssh/id_rsa': 
Last login: Wed Apr 06 09:03:50 2014 from 192.168.12.20

Ajouter un mot de passe de clé privée à ssh-agent

1. Pour ajouter le mot de passe de la clé privée à ssh-agent, saisissez la commande suivante :

# exec ssh-agent $SHELL

2. L'étape suivante consiste à utiliser la commande ssh-add pour ajouter la clé.

# ssh-add
Enter passphrase for /root/.ssh/id_rsa: 
Identity added: /root/.ssh/id_rsa (/root/.ssh/id_rsa)

3. La commande "ssh-add -l" répertorie les empreintes digitales de toutes les identités actuellement représentées par l'agent.

# ssh-add -l
2048 SHA256:4lYqkqgXmhIxoyMdT+ZfGFCxeMUqTnXLjrRQKjbEC/U /root/.ssh/id_rsa (RSA)

4. Vous pouvez maintenant essayer de vous connecter au système distant sans mot de passe.

$ ssh 192.168.12.10
Last login: Thu Apr 06 11:13:29 2014 from 192.168.12.20

Dans cet exemple, la phrase secrète est mémorisée uniquement pour la session de connexion en cours et est oubliée lorsque vous vous déconnectez.


Linux
  1. Comment configurer des clés SSH

  2. Comment récupérer la clé publique d'une clé privée Ssh ?

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

  4. Comment fonctionne SSH sans mot de passe sous Linux / UNIX

  5. Comment puis-je éviter la vérification d'hôte de SSH pour les hôtes connus ?

Comment configurer l'authentification SSH sans mot de passe sous Linux

Comment créer une phrase de passe de clé SSH sous Linux

Comment configurer la connexion SSH sans mot de passe dans AlmaLinux

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

Comment ajouter une clé SSH pour l'accès cPanel SSH

Comment empêcher SSH de se déconnecter s'il est inactif depuis un certain temps