Je vais vous montrer comment se connecter en SSH par échange de clés SSH .
Le client sera une machine Windows et le serveur sera une Debian 10

Je vais utiliser les logiciels Putty et PuttyGen sur Windows.

Ils sont gratuits et disponibles ici:

https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

Téléchargez Putty et Puttygen sur votre client Windows.

Lancez Puttygen.

Si vous choisissez une clé RSA , il est recommandé qu'elle soit au moins à 4096.
Puis Générer et bouger la souris.

Entrez et confirmez une passphrase c'est à dire un Mot de Passe.
Puis sauvegardez la clé publique ainsi que la clé privée dans un dossier que vous retrouverez.

Il est important de garder PuttyGen ouvert pour l'instant

Connectez vous avec Putty sur votre serveur Debian ( Oui en SSH "classique" pour l'instant ) avec le User que vous souhaitez utiliser à distance ( Pour cet exemple je le fait en Root).

Tapez cette commande:

sudo nano .ssh/authorized_keys

Vous avez une fenêtre de texte vide.

Vous allez la remplir avec clé générée par Puttygen en prenant soin de copier/coller toute la clé
Ctrl + C côté Windows et Clic Droit côté PuttyDebian.
Le texte apparaît sur une seule ligne , c'est normal.

Quittez Nano , "Ctrl+x" ," Y "pour dire Oui je veux sauvegarder, et "Entrée" pour valider l'emplacement.

Fermez Putty .

Relancez Putty , nous allons le configurer.

Renseignez son addresse IP et donnez un nom à cette session.

Allez ensuite sur "AUTH" à gauche et dans "Browse" donnez lui votre clé privée.

Cliquez sur "Session" à gauche puis "Save"
Putty gardera en mémoire ces paramètres pour vos connexions future.

Testons!

Cela fonctionne!

Maintenant nous allons désactiver l’accès par mot de passe pour uniquement autoriser l’accès par échange de clé.

Tapez cette commande:

sudo nano /etc/ssh/sshd_config

Vous obtenez ça:

La ligne qui nous intéresse est l'avant dernière:
Décommentez en supprimant le " # " et remplacez le " yes " par " no "

Quittez Nano , "Ctrl+x" ," Y "pour dire Oui je veux sauvegarder, et "Entrée" pour valider l'emplacement.

Tapez ensuite cette commande pour prendre en compte ce changement:

sudo systemctl restart sshd

Vous avez terminez , votre serveur Debian est seulement accessible par échange de clé SSH.

Pour ceux qui veulent tester sans clé , cela donne :

Félicitations ! Vous avez réussi!

Petit Bonus:

Puisque que vous avez tout configuré proprement en SSH , je vous conseille d'installer WINSCP car toutes les conditions sont maintenant réunis pour son bon fonctionnement.

Vous pouvez le trouvez ici:

https://winscp.net/eng/download.php

Installez le et vous verrez apparaître:

Acceptez l'importation et lancez WINSCP

Dans la fenêtre Login , Choisissez votre serveur et connectez vous !
Il vous sera demandé un User et votre passphrase.

Vous pouvez maintenant partager des fichiers et des dossiers entre votre client et votre serveur.

Félicitations à toutes et à tous ! Vous savez configurer la connexion par échange de clés SSH et mettre en place un partage sécurisé!