SSH est utilisé pour la validation et l'authentification des utilisateurs à l'aide de paires de valeurs clés telles que des clés privées et publiques. Ces clés sont générées à l'aide de la commande ssh-keygen. Vous pouvez générer différents types de clés comme RSA, DSA, etc.
Dans cet article, nous allons discuter du processus d'utilisation de la commande ssh-keygen pour générer différentes clés qui authentifient les clés publiques et privées utilisées par SSH. Nous allons le démontrer sur le serveur Ubuntu 20.04 LTS.
Utilisation de ssh-keygen
Au moment d'utiliser la commande ssh-keygen, vous pouvez générer différents types de clés comme RSA, DSA, etc. Alors tout d'abord, comprenons ces clés à l'aide des points abordés ci-dessous.
- $HOME/.ssh/id_rsa :fichier d'identité d'authentification RSA de l'utilisateur. Il n'est lisible que par l'utilisateur.
- $HOME/.ssh/id_rsa.pub :fichier de clé publique RSA pour l'authentification.
Ces fichiers de clé publique sont copiés sur le serveur distant afin que l'utilisateur puisse se connecter avec l'authentification SSH. Il est copié dans le fichier $HOME/.ssh/authorized_keys du serveur distant.
- $HOME/.ssh/id_dsa :fichier d'identité d'authentification DSA de l'utilisateur. Il n'est lisible que par l'utilisateur.
- $HOME/.ssh/id_dsa.pub :fichier de clé publique DSA pour l'authentification.
ssh-keygen pour créer des clés RSA
Ici, ssh-keygen est utilisé pour créer des clés RSA pour l'authentification. Par défaut, si vous utilisez simplement la commande ssh-keygen, elle génère les clés rsa. Générons les clés rsa en exécutant la commande comme indiqué ci-dessous.
$ ssh-keygen -t rsa
Ou
$ ssh-keygen
Après avoir exécuté la commande ci-dessus, vous verrez une sortie similaire à celle ci-dessous.
Ici, à la fois la clé publique, c'est-à-dire id_rsa.pub et la clé privée, c'est-à-dire id_rsa sont enregistrés à l'emplacement par défaut qui est $HOME/.ssh/.
Comme la clé publique doit être copiée sur le serveur distant pour que l'utilisateur puisse se connecter avec l'authentification SSH. Il est copié dans le fichier $HOME/.ssh/authorized_keys du serveur distant. Vérifions la clé publique générée avec la commande ci-dessus.
$ cat id_rsa.pub
Copiez simplement cette clé publique et collez-la à cet emplacement :fichier $HOME/.ssh/authorized_keys du serveur distant pour l'authentification.
ssh-keygen pour créer des clés DSA
De même, les clés DSA peuvent également être créées avec un simple changement dans la commande. Par défaut, si vous utilisez simplement la commande ssh-keygen, elle génère les clés rsa. Mais pour générer des clés DSA, mettez simplement -t dsa comme argument dans la commande. Pour plus de détails, vous pouvez exécuter la commande comme indiqué ci-dessous.
$ ssh-keygen -t dsa
Lorsque vous exécutez la commande ci-dessus, vous pouvez obtenir la sortie sous la forme :
La clé publique, c'est-à-dire id_dsa.pub et la clé privée, c'est-à-dire id_dsa sont également enregistrés à l'emplacement par défaut qui est $HOME/.ssh/.
Vous pouvez simplement copier la clé publique sur le serveur distant pour que l'utilisateur se connecte avec l'authentification SSH. Il est copié dans le fichier $HOME/.ssh/authorized_keys du serveur distant. Vérifions la clé publique générée avec la commande ci-dessus.
$ cat id_dsa.pub
Copiez cette clé publique et collez-la à cet emplacement :fichier $HOME/.ssh/authorized_keys du serveur distant pour l'authentification.
Conclusion
Dans cet article, vous avez appris à générer différents types de clés comme RSA, DSA pour l'authentification et à vous connecter aux différents serveurs distants en copiant la clé publique dans le fichier $HOME/.ssh/authorized_keys du serveur distant. Merci !