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

EVO

Administrateur
Membre du personnel
25 Novembre 2019
10 796
2 398
288
/var/run/docker.sock
[Tuto] Activer la connexion par clés SSH sur votre serveur ( Debian )


:giggle:

Testé sur Debian 13 Trixie

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’accès à votre serveur !

Le réglage ce trouve dans /etc/ssh/sshd_config, nous allons rajouter un fichier de configuration dans sshd_config.d afin de surcharger cette configuration. Pour éditer ce fichier, vous devez etre root.

Pour passer en root :
Code:
su -

Puis on crée/édite notre fichier de configuration :
Code:
nano /etc/ssh/sshd_config.d/1000-no-pwd.conf
1755519861008.png


On ajoute la ligne :
Code:
#PasswordAuthentication no
1755519817647.png

Puis on enregistre, avec Ctrl+X et je confirme avec Y puis Enter

Enfin on redémarre le service ssh :
Code:
systemctl restart ssh

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


Source : andrerampersad.me
Thx @BenJ



2025-08-18 - Mise à jour pour Debian 13, mise en place d'un fichier de conf personnalisé
2023-12-04 - Amélioration de rédaction du point 2/ - Validation du fonctionnement sur Debian 12
 

Pièces jointes

  • 1755519729865.png
    1755519729865.png
    2.8 KB · Affichages: 0
Dernière édition:
  • J'aime
Réactions: webmail