[LINUX] Connectez-vous rapidement avec SSH avec authentification par clé publique

introduction

Connexion SSH, saisissez-vous toujours votre mot de passe? Vous pouvez l'omettre en utilisant la méthode d'authentification par clé publique!

L'environnement est

Côté client: Linux (y compris l'environnement WSL / 2) Côté serveur: Linux

Est assumé.

Ci-dessous, travaillez rapidement côté client.

Génération de clés nettes

On vous demandera beaucoup, mais tout ce que vous pouvez faire est d'entrer à plusieurs reprises.

$ ssh-keygen -t ed25519

Enregistrez rapidement la clé sur le serveur

Enregistrez la clé publique générée ci-dessus sur le serveur auquel vous souhaitez vous connecter.

$ cat ~/.ssh/id_ed25519.pub | ssh <Nom d'utilisateur>@<hôte> 'cat >> ~/.ssh/authorized_keys'

c'est tout! Contrôle de fonctionnement!

$ ssh <Nom d'utilisateur>@<hôte>

Vous pouvez vous connecter sans mot de passe! Yatter!

Rédaction de détails / mémo

Si vous ne pouvez pas vous connecter

Cela ne bougeait pas, mais ce ne serait pas rapide si le serveur n'était pas prêt. Si cela ne fonctionne pas, vérifiez les points suivants du côté du serveur de destination de la connexion.

Le fichier ~ / .ssh / allowed_keys existe correctement

Assurez-vous que les permissions sur le répertoire .ssh et le fichier ʻauthorized_keys` sont correctes.

$ mkdir ~/.ssh
$ chmod 700 ~/.ssh
$ touch ~/.ssh/authorized_keys
$ chmod 600 ~/.ssh/authorized_keys

L'authentification par clé publique est activée

Ouvrez le fichier de configuration sshd.

$ sudo vim /etc/ssh/sshd_config

Si PubkeyAuthentication est commenté ou non, la méthode d'authentification par clé publique est désactivée, alors définissez-la avec yes comme suit.

PubkeyAuthentication yes

Redémarrez le service sshd pour refléter

$ sudo systemctl restart sshd

Types et choix d'algorithmes de signature de clés

RSA

Il n'y a aucune raison de faire un choix positif en termes de sécurité et de rapidité. En ce qui concerne la sécurité, il semble que le 4096 bits soit toujours correct. S'il n'est pas spécifié, il sera généré en 2048 bits.

$ ssh-keygen -t rsa 4096

ECDSA

Il utilise un algorithme de signature plus sécurisé et plus rapide que RSA. La longueur de la clé est de 256, 368, 521 bits. 521 est correct au lieu de 512. Même 521 bits est plus rapide que RSA et constitue désormais un choix sûr.

$ ssh-keygen -t ecdsa -b 521

Ed25519

Puisqu'il est nouveau, vous pouvez rencontrer un serveur SSH qui ne le prend pas en charge. Il utilise un algorithme de signature plus sûr et plus rapide que ECDSA. La longueur de la clé est fixée à 256 bits.

$ ssh-keygen -t ed25519

Recommended Posts

Connectez-vous rapidement avec SSH avec authentification par clé publique
Définir l'authentification par clé publique pour la connexion SSH dans Teraterm
Utilisez l'authentification par clé publique par clé privée pour ssh. Connectez-vous depuis WAN.
[SSH] À propos de l'authentification par clé publique et EC2
Comment configurer l'authentification par clé publique avec SSH
Authentification par clé de l'édition SSH Ubuntu (18.04.3)
Connexion SSH à l'aide de la clé publique
Connectez-vous à Raspberry PI avec ssh sans mot de passe (authentification par clé)
Authentification par clé publique SSH définie pour Sakura VPS Cent OS7.7
[Série de paramètres Linux] Comment définir l'authentification par clé publique / ssh-keygen / ssh key / authorized_keys
Jusqu'à ce que vous puissiez emprunter VPS avec Conoha et authentifier la clé publique avec SSH
Passer la ligne en cas de connexion SSH réussie avec ifttt
Arrêtez l'authentification par mot de passe SSH et passez complètement à l'authentification par clé
[Amazon Linux 2] Passage de l'authentification par clé publique à l'authentification par mot de passe
Visualisez rapidement avec les pandas
écran et écran partagé avec connexion python et ssh au serveur distant
Comment générer une clé publique à partir d'une clé privée SSH
Vérifiez la signature JWT avec PyJWT à l'aide de la clé publique au format PKCS # 1