créer une paire de clés SSH pour une authentification sécurisée Imprimer

  • 1

La création d’une jeu de clés SSH vous permet d’obtenir une clé publique et une clé privée. Vous pouvez placer la clé publique sur n’importe quel serveur, puis la déverrouiller. Il suffit de vous connecter au serveur avec un compte client sur lequel votre clé privée est déjà enregistrée. Si les clés SSH correspondent, vous serez automatiquement connecté, sans besoin d’un mot de passe.

 

 

Création d’une clé SSH sous Linux et Mac

Vos clés SSH doivent être stockées dans le répertoire « .ssh » vérifiez donc la présence de ce dossier dans votre répertoire $HOME. S'il n’existe pas, le créer :

# mkdir ~/.ssh

 

Utilisez la commande suivante pour créer une clé RSA de 4096 bits :

# ssh-keygen -b 4096
 
A savoir que si aucune option n'est spécifiée, une clé RSA de 2048 bits sera créée. Vous pouvez également utiliser l’option « -t » plutôt que « -b » dans la commande ci-dessus afin de spécifier une méthode de cryptage différente, par exemple :
 # ssh-keygen -t ed25519 -a 256

 

Deux fichiers seront créés avec la commande 'ssh-keygen' et, par défaut, seront nommés id_rsa (c’est la clé privée) et id_rsa.pub et placés dans un répertoire ~/.ssh/.

 

Notez qu'il vous sera demandé de définir (optionnel) une passphrase. Je vous recommande d'en mettre une. En effet, si vous exploitez une clé ssh pour différents serveurs web, vous aurez la possibilité d'y accéder sans aucun mot de passe. Si cette clé privée est dérobée par un tier, celui-ci aura les même accès que vous. Une passphrase, unique pour ces serveurs, pourrait donc venir vous sécuriser. C'est "Ceinture/Bretelle" ! Bien évidemment, la clé privée doit toujours être gardée en sécurité. Seules les personnes autorisées doivent y avoir accès.

 

Utilisez la commande « cat » du fichier de votre clé et copiez la sortie afin de lire et exporter votre clé publique :

# cat .ssh/id_rsa.pub
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC8teh2NJ42qYZV98gTNhumO1b6rMYIkAfRVazl
k6dSS3xf2MXJ4YHsDacdjtJ+evXCFBy/IWgdkFtcvsGAMZ2N1RdvhDyQYcy6NDaJCBYw1K6Gv5fJ
SHCiFXvMF0MRRUSMneYlidxUJg9eDvdygny4xOdC6c1JrPrSgOc2nQuKeMpOoOWLINIswg1IIFVk
kFMPrFivP8Z6tidzVpAtbr1sXmJGZazYWrU3FoK2a1sF1zEWrmlMOzX81zEWrmlMOzX8CpZW8Rae
i4ANmLy7NULWK36yU0Rp9bFJ4o0/4PTkZiDCsK0QyHhAJXdLN7ZHpfJtHIPCnexmwIMLfIhCWhO5
 user@hostname

Création d’une clé SSH Windows (via Putty)

 
Pour s'aligner avec la clé générée côté serveur, nous sélectionnerons une clé RSA de 4096 bits. Cliquez ensuite sur le bouton Générer pour lancer le processus de création.
 
Putty vous demande donc de bouger le curseur de votre souris de façon aléatoire dans la zone définie, comme indiqué ci-dessous. Putty utilise en effet les mouvements de souris pour déterminer le hasard.
 
 
 
Transférer une clé SSH sur votre serveur
Dans le cas où vous souhaiteriez inter-connecter deux serveurs ou que vous utilisez un terminal depuis votre poste (ex. Linux). Vous pouvez tout à fait transférer la clé sur le serveur distant via une commande
# ssh-copy-id root@<dest_server>

 

Des options existent pusique par défaut cette commande utilisera le port 22 que vous pouvez spécifier via l'option « -p » tout comme l'emplacement, par défaut « ~/.ssh/id_rsa », du fichier via l'option « -i ».

 

Ajouter une clé SSH à votre serveur

 

Vérifions déjà qu'aucune clé n'est présente

# cd ~/.ssh
# ls

 

Comme pour la partie cliente sous Linux, accédez à votre répertoire $HOME et créez le dossier « .ssh » (s’il n’existe pas) :

# mkdir ~/.ssh

 

Pour stocker la clé de l’utilisateur actuel, ouvrez un fichier nommé « authorized_keys » avec votre éditeur de texte préféré :

# vi ~/.ssh/authorized_keys

 

Copiez et collez votre clé publique dans ce nouveau fichier. Enregistrez le fichier et quittez l’éditeur. Redémarrez le service OpenSSH (la commande appropriée peut varier en fonction de votre système d’exploitation mais voici un exemple) :

# systemctl restart sshd

 

Pour vérifier que votre clé a été correctement configurée, essayez d’accéder à votre serveur via SSH en utilisant la commande suivante. Remplacez « IP_ADDRESSorHOSTNAME »  par l’adresse IP ou le nom d’hôte du serveur auquel vous essayez d’accéder :

# ssh user@IP_ADDRESSorHOSTNAME

 

Ajouter des clés supplémentaires à votre serveur

Pour créer une clé propre à des utilisateurs supplémentaires. Il suffit de répéter les étapes précédentes en utilisant le répertoire $HOME associé.

 

Supprimer des clés autorisées de votre serveur

Supprimez de votre fichier « authorized_keys » la clé qui correspond à l’utilisateur dont l’accès a été révoqué. Après avoir supprimé la clé, enregistrez le fichier et quittez l’éditeur de texte.


Cette réponse était-elle pertinente?

« Retour