Configuration de l’authentification SSH par clés de chiffrement
- Principe de l'authentification par clé de chiffrement SSH
- Modification du port de communication SSH
- Génération des clés publique et privée dans "PuTTY key Generator"
- Finalisation : installation des clés sur le serveur distant et le client SSH PuTTY
- Utilisation de Pageant (PuTTY authentication agent)
- Désactivation de l'authentification par mot de passe
Les clés SSH sont créées à l’aide du cryptosystème RSA. Système cryptographique asymétrique. Deux clés, la clé publique et la clé privée sont générées. La méthode utilisée pour créer ces clés est si compliquée qu’il est impossible de la forcer ou de la craquer.
Principe de l’authentification par clé de chiffrement SSH
Principe de l’authentification par clé de chiffrement SSH :
- Une paire de clés SSH comprenant une clé publique et une clé privée est générée
- La clé publique est enregistrée sur votre serveur ; la clé privée est enregistrée sur votre ordinateur
- Si j’essaie maintenant de me connecter à mon serveur, le serveur va générer une chaîne aléatoire et la chiffrer en utilisant la clé publique. Cette chaîne chiffrée ne peut être déchiffrée qu’à l’aide de la clé privée
- Le serveur envoie cette chaîne chiffrée à votre ordinateur. Votre ordinateur le déchiffrera avec la clé privée et renverra la chaîne déchiffrée au serveur. Si la chaîne déchiffrée de votre ordinateur correspond à la chaîne d’origine du serveur, vous êtes autorisé à accéder au serveur.
Modification du port de communication SSH
Se logger en mode super-utilisateur dans PuTTY
Se logger en « root » :
- Dans « Host Name », entrer l’adresse Ip : root@38.242.201.85 / Port 22 (par défaut)
- Cliquer sur le bouton « Open » (situé en bas et à droite)
La fenêtre console de commande debian apparait. Saisir le mot de passe administrateur (root
)
mkdir /root/.ssh && cd /root/.ssh

Modification du numéro de port sur la machine distante
Dans la fenêtre de commande ouvert dans l’étape précedente :
- Editer le fichier de configuration « sshd_config » en entrant la commande nano/etc/ssh/sshd.config. Localiser la ligne « Port 22 », et changer la valeur 22 par 7306. Sauvegarder et quitter en entrant les commandes ctrl+o, entrer puis ctrl+x.
- Appliquer le changement de numéro de port avec la commande service ssh restart. A ce moment, la communication est coupée, donc fermer la fenêtre de commande. Exécuter à nouveau le programme PuTTY.
root@vmi820488:~# nano /etc/ssh/sshd_config
GNU nano 5.4 /etc/ssh/sshd_config
# $OpenBSD: sshd_config,v 1.103 2018/04/09 20:41:22 tj Exp $
# This is the sshd server system-wide configuration file. See
# sshd_config(5) for more information.
# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin
# The strategy used for options in the default sshd_config shipped with
# OpenSSH is to specify options with their default value where
# possible, but leave them commented. Uncommented options override the
# default value.
Include /etc/ssh/sshd_config.d/*.conf
Port 7306
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
mkdir /root/.ssh && cd /root/.ssh
Génération des clés publique et privée dans « PuTTY key Generator »
Exécuter PuTTYgen (PuTTY key Generator) sur le poste client Windows
- Cliquer sur le bouton « Generate », puis déplacer la souris aléatoirement dans l’espace « No key. » Jusqu’à la fin de la génération de la clé.
- Dans le champs « Key comment », saisir un commentaire précis comportant la date et le motif de création de clé
- Dans le champs « Key passphrase » et « Confirm passphrase », saisir un mot de passe.
- Sélectionner à la souris le contenu complet de la clé publique, puis la copiée (Clic+droit souris / copier).
- Cliquer sur le bouton « Save public key », puis sauvegarder la clé publique dans le répertoire « xxx/contabo-ssh-keys » avec le nom Public_key_root.
- Cliquer sur le bouton « Save private key », puis sauvegarder la clé publique dans le répertoire « xxx/contabo-ssh-keys » avec le nom Private_key_root.ppk.
- Quitter le programme « PuTTY key Generator ».

Principaux commentaires expliqués (facultatif)
Si vous le souhaitez, vous pouvez assigner un commentaire clé. Ce commentaire sera intégré dans votre clé publique ainsi que dans votre clé privée. Si vous vous connectez maintenant à votre serveur avec votre clé, le commentaire de clé qui est similaire à un nom de votre clé sera affiché sur la console.
Mot de passe clé expliqué (facultatif, recommandé)
Pour renforcer la sécurité des clés privées, vous pouvez attribuer une phrase secrète de clé. Cela chiffrera localement votre clé privée. Si vous essayez maintenant de vous connecter à votre serveur en utilisant votre clé privée, vous serez invité à entrer votre mot de passe de clé. La différence entre utiliser un mot de passe normal pour se connecter à votre serveur ou utiliser une clé privée sécurisée par une phrase secrète est que la phrase secrète ne sera pas transférée à votre serveur. La phrase de passe est uniquement utilisée pour chiffrer/déchiffrer votre clé privée localement. Avec cette méthode, peu importe si quelqu’un accède à votre clé privée, car il a aussi besoin de votre mot de passe pour se connecter à votre serveur.
Pour enregistrer la clé publique, vous pouvez soit copier tout le texte de la zone supérieure, soit cliquer sur « Enregistrer la clé publique », puis choisir un emplacement dans lequel la clé doit être enregistrée. Pour enregistrer la clé privée, cliquez sur « Enregistrer la clé privée » et choisissez un emplacement dans lequel la clé doit être enregistrée.
Finalisation : installation des clés sur le serveur distant et le client SSH PuTTY
Copie de la clé publique sur le poste distant
Exécuter PuTTY sur le poste client Windows :
- Dans « Host Name », entrer l’adresse Ip : root@38.242.201.85
- Dans « Port » entrer 7306 car le port par défaut (22) a été modifié.
- En bas de la fenêtre, cliquer sur le bouton « Open ».
Dans la fenêtre console de commande debian :
- Entrer le mot de passe root
- Créer le dossier « .ssh » à partir du dossier racine de l’utilisateur.
mkdir ./.ssh && cd ./.ssh - Créer le fichier « authorized_keys » :
nano authorized_keys - Se positionner au début du fichier, puis faire un « Clic+droit » souris pour coller le texte de la clé précédemment copiée.
- Faire « Ctrl+O » / Return / « Ctrl+X » pour sauvegarder et quitter.
- Entrer la commande « exit » pour sortir de la session debian.
root@vmi820488:~# mkdir /root/.ssh && cd /root/.ssh
root@vmi820488:~/.ssh# nano authorized-keys
root@vmi820488:~/.ssh# nano authorized_keys
GNU nano 5.4 authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3BNLH8Q20YErm35BWu>
# Faire "Ctrl+O" / Return / "Ctrl+X" pour sauvegarder et quitter.
Remarque importante :
Dans le cas d’un utilisateur « simple » (non root), le fichier "authorized_keys"
sera placé dans le dossier "/home/{nom_user}/.ssh"
ipadair2@vmi820488:~# mkdir /home/ipadair2/.ssh
ipadair2@vmi820488:~# cd /home/ipadair2/.ssh
ipadair2@vmi820488:~/.ssh# nano authorized-keys
ipadair2@vmi820488:~/.ssh# nano authorized_keys
GNU nano 5.4 authorized_keys
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC3BNLH8Q20YErm35BWu>
# Faire "Ctrl+O" / Return / "Ctrl+X" pour sauvegarder et quitter.
Prise en compte de la clé privée
Création d’une session de sauvegarde
Exécuter PuTTY sur le poste client Windows :
- Dans la vue gauche « Cathegory », se déplacer dans l’arborescence afin de se positionner sur « Connection/SSH/Auth ». Dans la partie droite de la vue, cliquer sur le bouton « Browse », puis sélectionner dans l’arborescence le fichier correspondant à la clé privée sauvegardée précédemment : Private_key_root.ppk
- Dans le champs « Saved Sessions », saisir « Contabo_root », puis cliquer sur « Save »
- Cliquer sur le bouton « Open » (situé en bas et à droite) :
La fenêtre console de commande debian apparait. - Entrer la « passphrase » que vous aviez saisi dans le champs « Key passphrase » du programme « PuTTY key Generator » (étape 6).
- Vous devriez être loggé.


Utilisation de Pageant (PuTTY authentication agent)
Avec pageant
, il est encore plus facile d’utiliser des clés privées pour se connecter à votre serveur (pas besoin de taper votre mot de passe encore et encore, au cas où vous sécuriseriez votre clé privée avec une "passphrase"
).
Exécuter Pageant sur le poste client Windows :
- Exécuter pageant.exe
- Faire un clic droit sur l’icône « pageant » dans la barre des tâches et choisir
« View Key ».

- Dans la nouvelle fenêtre, cliquer sur le bouton « Add Key », puis sélectionner le fichier contenant la clé privée précédemment créée (Private_key_truc.ppk). Cliquer sur le bouton « Ouvrir »
- Dans la fenêtre « Pageant: Loading Encrypte… », entrer la Passphrase, puis « OK », puis « Close »

Désactivation de l’authentification par mot de passe
La raison derrière le choix de l’authentification ssh-key comme méthode de connexion est la sécurité du serveur. Par conséquent, il est logique de désactiver l’authentification par mot de passe maintenant.
Ouvrir le fichier /etc/ssh/sshd_config avec l’éditeur nano :
nano /etc/ssh/sshd_config
Rechercher les 3 chaines suivantes et positionner leurs valeurs à : No
ChallengeResponseAuthentication
PasswordAuthentication
UsePAM
Sauvegarder (Ctrl+O)
, valider et quitter (Ctrl+X)
.
