Les clés SSH aident à ajouter une couche de sécurité à votre site Web. Normalement, une connexion SSH (Secure Shell) est établie entre un client et un serveur. Cette connexion est authentifiée par un mot de passe. Cela ne veut pas dire que les mots de passe ne sont plus sécurisés de nos jours. Il est facile d'intégrer brutalement un serveur SSH en essayant différentes combinaisons de mots de passe. Combien de temps pensez-vous qu'il faudrait un pirate informatique pour essayer un mot de passe à 8 chiffres? Dans un super ordinateur, ce serait une question de minutes, dans une machine normale utilisant son GPU, une question de jours. Cela signifie que les mots de passe sont une vulnérabilité de sécurité. Mais ne vous inquiétez pas, il existe un moyen d'éviter d'utiliser des mots de passe. Clés SSH

Qu'est-ce qu'une clé SSH?

Une clé SSH est une clé chiffrée composée d'une clé publique et d'une clé privée. Cette méthode fonctionne via le chiffrement RSA où la clé publique est disponible pour tous les publics pour chiffrer les données, mais seule la clé privée peut déchiffrer ces données. Au moins pour l'instant. Vous pourriez techniquement déchiffrer une clé privée, mais cela vous prendrait quelques années, un peu plus en sécurité qu'un mot de passe. Normalement, nous voyons ce type de cryptage entre notre navigateur et le Web. Vous avez accès à la clé publique du serveur, qui à son tour crypte vos données. Mais vous ne pouvez pas le décrypter. C'est ce qu'on appelle le cryptage unidirectionnel.

Création d'une clé SSH

Vous devez d'abord savoir si vous avez des clés actuellement générées. Pour cela, il suffit d'exécuter la commande suivante:

ls -l ~ / .ssh / id _ *. pub

Cela vous dira s'il existe des clés actuellement générées, si le résultat revient comme suit: Aucune donnée / fichier trouvé, vous pouvez utiliser la clé déjà générée ou créer la vôtre.

Permet maintenant de générer la clé avec le code suivant:

ssh-keygen -t rsa -b 4096 -C "[email protected]"

Assurez-vous de remplacer votre adresse e-mail. Appuyez maintenant sur Entrée, il vous sera demandé de créer une phrase secrète. Cela ajoute une couche de sécurité supplémentaire, bien qu'elle soit facultative. Vous verrez la sortie suivante:

Entrez la phrase secrète (vide pour aucune phrase secrète):

Votre sortie sera similaire à celle-ci

sortie en ligne de commande

Vous pouvez maintenant exécuter

ls ~ / .ssh / id_ *

La sortie sera

/home/yourusername/.ssh/id_rsa /home/yourusername/.ssh/id_rsa.pub

Remarque: Jusqu'à présent, tout cela a été généré sur votre machine, pas sur le serveur. Ceci est important car la commande suivante liera votre utilisateur avec la clé SSH.

Lier la clé à l'utilisateur

ssh-copy-id remote_username @ server_ip_address

Vous serez invité avec la sortie suivante

remote_username @ server_ip_address's password:

Une fois authentifié, le contenu de ~ / .ssh / id_rsa.pub sera copié dans ~ / .ssh / authorized_keys. Vous pouvez également simplement exécuter les commandes suivantes si vous ne parvenez pas à exécuter les commandes mentionnées précédemment.

Sur le serveur, exécutez cette commande:

cat ~ / .ssh / id_rsa.pub | ssh remote_username @ server_ip_address "mkdir -p ~ / .ssh && chmod 700 ~ / .ssh && cat >> ~ / .ssh / authorized_keys && chmod 600 ~ / .ssh / authorized_keys"

Désactivation de la connexion SSH avec mot de passe

ssh sudo_user @ server_ip_address sudo nano / etc / ssh / sshd_config

Recherchez les lignes suivantes et modifiez-les comme suit:

PasswordAuthentication no ChallengeResponseAuthentication no UsePAM no

Enfin, exécutez

sudo systemctl restart ssh

Vous êtes prêt à partir maintenant.

Partager sur facebook
Facebook
Partager sur twitter
Twitter
Partager sur linkedin
LinkedIn
Dans cet article: