GNU/Linux >> Tutoriels Linux >  >> Linux

Principes de base de Linux :Comment créer et installer des clés SSH sur le shell

Les clés SSH offrent une manière hautement sécurisée de se connecter à un serveur avec SSH, contrairement à la simple dépendance à un mot de passe. Alors qu'un mot de passe risque d'être finalement piraté, les clés SSH sont plutôt impossibles à déchiffrer par force brute. En effet, la génération d'une paire de clés offre aux utilisateurs deux longues chaînes de caractères correspondant à une clé publique ainsi qu'à une clé privée. Les utilisateurs peuvent ainsi placer la clé publique sur n'importe quel serveur, puis déverrouiller celui-ci en s'y connectant avec un client qui possède déjà la clé privée. Lors de la correspondance des deux clés, le système se déverrouille sans aucune dépendance fastidieuse à un mot de passe. La sécurité peut être en outre intelligemment protégée par un pare-feu en protégeant la clé privée avec une phrase de passe.

Installation des clés SSH sous Linux - Un guide étape par étape

Vous trouverez ci-dessous un guide étape par étape détaillant le processus d'installation des clés SSH sur un serveur Linux :

Première étape :création de la paire de clés RSA

La première étape du processus d'installation consiste à créer la paire de clés sur la machine cliente, qui serait, le plus souvent, votre propre système. Les utilisateurs doivent utiliser la commande suivante :

ssh-keygen -o -b 4096 -t rsa

La commande ci-dessus lance le processus d'installation de la clé SSH pour les utilisateurs. L'option -o indique à ssh-keygen de stocker la clé privée dans le nouveau format OpenSSH au lieu de l'ancien (et plus compatible au format PEM). Il est fortement recommandé d'utiliser l'option -o car le nouveau format OpenSSH a une résistance accrue au craquage de mot de passe par force brute. Si l'option -o ne fonctionne pas sur votre serveur (elle a été introduite en 2014) ou si vous avez besoin d'une clé privée dans l'ancien format PEM, utilisez la commande 'ssh-keygen -b 4096 -t rsa '.

L'option -b de la commande ssh-keygen est utilisée pour définir la longueur de la clé sur 4096 bits au lieu de 1024 bits par défaut pour des raisons de sécurité.

Lors de la saisie de la commande Gen Key principale, les utilisateurs doivent effectuer l'exercice suivant en répondant aux invites suivantes :

Enter the file where you wish to save the key (/home/demo/.ssh/id_rsa)

Les utilisateurs doivent appuyer sur ENTER afin d'enregistrer le fichier dans l'accueil de l'utilisateur

L'invite suivante se lirait comme suit :

Enter passphrase

Si, en tant qu'administrateur, vous souhaitez attribuer la phrase secrète, vous pouvez le faire lorsque vous y êtes invité (conformément à la question ci-dessus), bien que cela soit facultatif, et vous pouvez laisser le champ vide au cas où vous ne souhaiteriez pas attribuer de phrase secrète.

Cependant, il est pertinent de noter ici que la saisie d'une phrase de passe unique offre une foule d'avantages énumérés ci-dessous :

1. La sécurité d'une clé, même hautement cryptée, dépend en grande partie de son invisibilité pour toute autre partie. I 2. Dans le cas probable où une clé privée sécurisée par phrase de passe tomberait sous la garde d'un utilisateur non autorisé, celui-ci serait incapable de se connecter à ses comptes alliés jusqu'à ce qu'il puisse déchiffrer la phrase de passe. Cela donne invariablement à la victime (l'utilisateur piraté) un temps supplémentaire précieux pour éviter l'offre de piratage Par contre, l'attribution d'une phrase de passe à la clé vous oblige à la saisir à chaque fois que vous utilisez la paire de clés, ce qui rend le processus un peu fastidieux, néanmoins absolument infaillible.

Voici un aperçu général du processus de génération de clé de bout en bout :

La clé publique peut maintenant être tracée vers le lien ~/.ssh/id_rsa.pub

La clé privée (identification) peut maintenant être tracée vers le lien-/home/demo/.ssh/id_rsa 3

Étape 2 :copier la clé publique

Une fois la bi-clé distincte générée, il ne reste plus qu'à placer la clé publique sur le serveur virtuel que l'on compte utiliser. Les utilisateurs pourront copier la clé publique dans le fichier authorized_keys de la nouvelle machine à l'aide de la commande ssh-copy-id. Ci-dessous est le format prescrit (strictement un exemple) pour la saisie du nom d'utilisateur et de l'adresse IP, et doit être remplacé par les valeurs système réelles :

ssh-copy-id [email protected]

Comme alternative, les utilisateurs peuvent coller les clés en utilisant SSH (selon la commande donnée) :

cat ~/.ssh/id_rsa.pub | ssh [email protected] "cat >> ~/.ssh/authorized_keys"

L'une ou l'autre des commandes ci-dessus, lorsqu'elle est utilisée, lancera le message suivant sur votre système :

L'authenticité de l'hôte '192.168.0.100' ne peut pas être établie. L'empreinte digitale de la clé RSA est b1:2d:32:67:ce:35:4d:5f:13:a8:cd:c0:c4:48:86:12. Voulez-vous vraiment continuer à vous connecter (oui/non) ? oui Attention :Ajout permanent de '192.168.0.100' (RSA) à la liste des hôtes connus. Mot de passe de [email protected] :essayez maintenant de vous connecter à la machine, avec "ssh '[email protected]'", et enregistrez :~/.ssh/authorized_keys pour vous assurer que nous n'avons pas ajouté de clés supplémentaires que vous n'étiez pas" je ne m'y attendais pas.

Après l'exercice ci-dessus, les utilisateurs sont prêts à continuer et à se connecter à [email protected] sans être invités à entrer un mot de passe. Cependant, si vous avez déjà attribué une phrase secrète à la clé (comme à l'étape 2 ci-dessus), vous serez invité à saisir la phrase secrète à ce stade (et à chaque fois pour les connexions ultérieures).

Étape 3 (cette étape est facultative) :désactiver le mot de passe pour faciliter la connexion root

Une fois que les utilisateurs ont copié leurs clés SSH sur votre serveur et se sont assurés d'une connexion transparente avec les clés SSH uniquement, ils ont la possibilité de restreindre la connexion root et de l'autoriser uniquement via les clés SSH. Pour ce faire, les utilisateurs doivent accéder au fichier de configuration SSH à l'aide de la commande suivante :

sudo nano /etc/ssh/sshd_config

Une fois le fichier accédé, les utilisateurs doivent trouver la ligne dans le fichier qui inclut PermitRootLogin , et modifiez-le pour garantir une connexion infaillible à l'aide de la clé SSH. La commande suivante vous aidera à le faire :

PermitRootLogin without-password

La dernière étape du processus consiste à implémenter les modifications à l'aide de la commande suivante :

reload ssh

Ce qui précède termine le processus d'installation des clés SSH sur le serveur Linux.

Conversion de la clé privée OpenSSH au nouveau format

La plupart des anciennes clés OpenSSH sont stockées au format PEM. Bien que ce format soit compatible avec de nombreuses applications plus anciennes, il présente l'inconvénient que le mot de passe d'une clé privée protégée par mot de passe peut être attaqué par des attaques par force brute. Ce chapitre explique comment convertir une clé privée au format PEM en une clé au nouveau format OpenSSH.

ssh-keygen -p -o -f /root/.ssh/id_rsa

Le chemin /root/.ssh/id_rsa est le chemin de l'ancien fichier de clé privée.

Conclusion

Les étapes ci-dessus vous aideront à installer des clés SSH sur n'importe quel serveur privé virtuel de manière totalement sûre, sécurisée et sans tracas.


Linux
  1. Comment installer le service SSH (Secure Shell) sur Kali Linux

  2. Principes de base de Linux :comment télécharger des fichiers sur le shell avec Wget

  3. Comment créer un alias et utiliser la commande Alias ​​sous Linux

  4. Comment définir/créer des variables d'environnement et de shell sous Linux

  5. Comment installer CVS et créer un référentiel CVS sur un serveur Linux

Comment installer Mosh Shell comme alternative SSH sous Linux

Comment installer et utiliser Nu Shell sous Linux

Comment générer et utiliser la clé SSH dans le système Linux ?

Comment installer Fish Shell sur Ubuntu et Linux Mint

Comment installer, configurer et activer le service SSH sous Linux

Comment installer Mosh Shell comme alternative SSH sur le bureau Linux