[Tuto] Activer la connexion par clés SSH sur votre serveur ( Debian )

EVO

Administreur
Membre du personnel
25 Novembre 2019
10 281
2 198
293
/var/run/docker.sock
[Tuto] Activer la connexion par clés SSH sur votre serveur ( Debian )


:giggle:

Testé sur Debian 10, 11 et 12

Sommaire :
1/ Génération de la paire de clés
2/ Mise en place de la clé public sur le serveur
3/ Conversion de la Clé ed25519 pour Putty

4/ Connexion par Clés SSH avec Putty
5/ Désactivation de l'identification par mot de passe

:giggle:

1/ Génération de la paire de clés
Une fois connecté via votre user en SSH a votre serveur, nous allons générer la paire de clés :
Code:
ssh-keygen -t ed25519

une fois la commande validé, on vous demande ou enregistrer le fichier :
CfuIyap.png


Je vous conseil de ne pas modifier le chemin, pour utiliser le chemin par défaut, il suffit de valider avec Enter

Puis il vous demande si vous souhaitez rajouter une passphrase, pour ma part, je n'en rajoute pas, je valide donc la demande, et la confirmation par Enter
A partir de ce moment, ma paire de clés est crée.
2wIs3vn.png


Si je fait un :
Code:
ls ~/.ssh

Je peu voir un fichier id_ed25519 et un fichier id_ed25519.pub

Le fichier id_ed25519.pub est ma clé public, elle sera stocké sur le serveur.
Le fichier id_ed25519 est ma clé privé, elle sera stocké sur ma machine, et servira donc a prouver mon identité au serveur quand je souhaiterai me connecter.


2/ Mise en place de la clé public sur le serveur
Maintenant que notre paire de clé est prête, nous allons placé la clé public, dans les fichier des clés autorisé a ce connecter au serveur.

Pour cela il faut rajouter le contenu de id_ed25519.pub dans un fichier authorized_keys ( toujours dans le répertoire ~/.ssh/ )

On peux faire cela avec une seule ligne de commande :

Code:
cat ~/.ssh/id_ed25519.pub >> ~/.ssh/authorized_keys
Ici on demande de copier le contenu de ~/.ssh/id_ed25519.pub dans ~/.ssh/authorized_keys , si le fichier n'existe pas il sera créé, s'il existe, la clé sera copié a la suite du contenu déjà présent.


3/ Conversion de la Clé ed25519 pour Putty
Petite subtilité avec Putty, la clé privé ed25519 n'est pas prise en charge directement, il faut la convertir.
Pour cela :
Récupérer votre clé privé ( fichier id_ed25519 ) :
Code:
cat ~/.ssh/id_ed25519
IocuOVn.png


Puis coller ceci dans un bloc-note :
xFtteqf.png


Enregistrer ce bloc-note, puis ouvrer Puttygen :
nSEVsgp.png


Cliquer sur Load
gOemJId.png


Choisissez "All Files" afin de pouvoir voir votre fichier bloc-note précédemment créer :
Z4RhlJM.png


Puis Importer le, a ce moment Putty vous indique que l'importation est un succes :
hMsl85p.png


Maintenant, cliquer sur "Save private key" pour enregistrer votre clé privé sous un format compatible avec Putty:
NT812dN.png


Puttygen vous demande si vous êtes sur d'enregistré sans indiquer de passphrase, faites OUI :
5yNpNmm.png


Et enregistrer le fichier, donc mon cas, je le nomme private.ppk :
tm2M0Aj.png


Parfait, nous avons donc maintenant, un serveur avec une clé public configuré, et une clé privé sur notre machine.

4/ Connexion par Clés SSH avec Putty

En cours ..... :giggle: :giggle:

5/ Désactivation de l'identification par mot de passe
ATTENTION : Avant d'appliquer ceci, vous devez être bien sur que votre identification par clé fonctionne ! Si vous désactivez l'identification par mot de passe alors que votre identification par clé ne fonctionne pas, vous perdez l'acces a votre serveur !

Ce réglage ssh ce trouve dans /etc/ssh/sshd_config, nous allons donc l'éditer. Pour éditer ce fichier, vous devez etre root.

Pour passer en root :
Code:
su -

Puis on modifie le fichier de configuration :
Code:
nano /etc/ssh/sshd_config
J8djNoj.png


On recherche :
Code:
#PasswordAuthentication yes
VAlk0iB.png


On modifie en enlevant le # de commentaire et en indiquant "no" à la place de "yes".
Code:
PasswordAuthentication no
z41m1Yd.png


Enfin on redémarre le service ssh :
Code:
/etc/init.d/ssh restart
4Pvo64z.png


Maintenant, si vous essayez de vous connecter sans échange de clé, le serveur vous renvera une erreur :
E3a1bJW.png


Source : andrerampersad.me
Thx @BenJ


2023-12-04 - Amélioration de rédaction du point 2/ - Validation du fonctionnement sur Debian 12
 
Dernière édition:
  • J'aime
Réactions: webmail