Poser un certificat SSL pour SSHD

Ne jamais utiliser de mot de passe ! Lisez cet article, il est édifiant : Kill the Password: Why a String of Characters Can’t Protect Us Anymore – Wired.com.

Et maintenant comment fait-on ? C’est simple, on va générer une paire de clés publique/privée, déposer la clé publique sur le Rasp et la lier au compte pi puis configurer Putty pour qu’il lance la session en utilisant (pas en transmettant) la clé privée locale.

Créer une paire de clés

puttygen« Moi, je suis PC et Windows 7,c’était MON idée », tout ça pour dire que je fais tout depuis Windows avec des utilitaires Windows.
J’ai déjà Putty et je viens de charger PuttyGen depuis http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

Lancer PuTTY Key Generator
Vérifier 1 & 2 et cliquer sur 3
Vérifier 1 (type clé) & 2 (longueur de la clé) et cliquer sur 3.

Passer la souris au-dessus de la zone
Passer la souris au-dessus de la zone vide afin de faire progresser la barre jusqu’à son extrémité.

Copier le texte sélectionner en  1, cliquer 2 et sauvegarder avec une extension .pub, cliquer sur 3 et sauvegarder avec une extension .ppk

  • Copier le texte sélectionner en 1 (Ctrl-C),
  • cliquer sur 2 et sauvegarder avec une extension .pub,
  • cliquer sur 3 et sauvegarder avec une extension .ppk

Lancer Putty cette fois avec vos paramètres habituels. Une fois connecté avec votre compte à automatiser (pi dans mon cas), aller dans le sous-répertoire .ssh,

pi@raspberrypi ~ $ cd .ssh
pi@raspberrypi ~/.ssh $

ou taper la commande de création du répertoire s’il n’existe pas :

pi@raspberrypi ~ $ mkdir .ssh
pi@raspberrypi ~ $ cd .ssh
pi@raspberrypi ~/.ssh $

puis taper la commande d’ajout d’une chaîne à un fichier (existant ou pas) :

pi@raspberrypi ~ $ cat >> authorized_keys

enfin, coller le contenu de la clé publique (copié précédemment) avec le clic-droit de la souris sur l’écran Putty. Terminer avec un Ctrl-Z qui vous rendra l’invite de commande.

Vous pouvez fermer l’écran de Putty avec une commande exit.

Puis le relancer immédiatement. Après avoir renseigné les paramètres habituels (IP / adresse),

putty1

aller dans le menu Data et saisir le compte de connexion : pi dans mon cas.

putty2

Puis dans le menu Auth, saisir le chemin où est stocké la clé privée.

Sauvegarder votre session, puis lancer là. La connexion doit être entièrement automatique jusqu’à l’apparition de l’invite de commande.

putty3

Pour terminer, il faut configurer SSHD pour ne plus accepter les connexions avec validation par mot de passe, sinon tout cela n’a servit à rien d’autre qu’à automatiser la connexion, pas à augmenter la sécurité d’accès.

Voilà les lignes modifiées du fichier /etc/ssh/sshd_config :

# Authentication:
LoginGraceTime 120
PermitRootLogin no
StrictModes yes

...

# To enable empty passwords, change to yes (NOT RECOMMENDED)
PermitEmptyPasswords no

...

# Change to no to disable tunnelled clear text passwords
PasswordAuthentication no

Avant de fermer la fenetre existante, on relance le daemon sshd :

pi@raspberrypi ~ $ sudo /etc/init.d/ssh restart
[ ok ] Restarting OpenBSD Secure Shell server: sshd.

Puis on réessaie de se connecter avec son certificat, puis sans (ce qui ne doit pas fonctionner), et enfin on peut fermer la session initiale.

Note : on ne copie/manipule jamais la clé privée. Elle doit rester sur le poste où elle a été créée.

Note 2 : pour être encore plus parano, on peut ajouter des mots de passe à ses clés privées et les gérer avec un utilitaire qui évite de les laisser en clair sur le poste client.

Références

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *