Se connecter en SSH au Raspberry Pi avec échange de clés
Si votre Raspberry Pi est exposé sur Internet vous pouvez désactiver le service SSH ce qui n’est pas toujours pratique ou limiter les connexions à celles avec échange de clés. Et c’est cette méthode que nous allons voir aujourd’hui.
Linux ou Mac
- S’il n’existe pas, créer le répertoire .ssh
mkdir $HOME/.ssh
chmod 700 $HOME/.ssh - Aller dans le répertoire .ssh
cd $HOME/.ssh
- Générer vos clés. L’option 4096 permet d’augmenter la sécurité de votre clé (au lieu des 2096 par défaut). Enfin lorsque le système va vous demander une « passphrase » (un mot de passe pour sécuriser votre clé privée), même si elle n’est pas obligatoire vous vous doutez qu’il est recommandé d’en utiliser une !
ssh-keygen -b 4096
Vous voilà avec une clé privée (id_rsa) et une clé publique (id_rsa.pub)
Votre clé privée doit être gardée dans votre répertoire .ssh
Votre clé publique c’est celle que vous devez mettre (ou faire mettre) en place sur les serveurs sur lesquels vous souhaitez vous connecter.
Windows
Pour Windows, vous pouvez utiliser PuttyGen pour générer vos clés.
Installer et autoriser votre clé publique
- Envoyer votre clé publique vers le serveur. Vous pouvez utiliser scp, un client ftp, etc. pour votre fichier id_rsa.pub
- Se connecter au serveur
- Ajouter le contenu du fichier id_rsa.pub que vous avez envoyé à l’étape 1 dans le fichier .ssh/authorized_keys de l’utilisateur dont vous souhaitez prendre l’identité
cat id_rsa.pub >> $HOME/.ssh/authorized_keys
Désactiver l’authentification par mot de passe
Pour maintenant autoriser uniquement les utilisateurs avec des clés, il suffit de modifier la configuration du service SSH
- Ajouter la ligne suivante dans /etc/ssh/sshd_config
PasswordAuthentication no
- Redémarrer le service
service ssh restart
Vous voila maintenant avec un Raspberry Pi un peu plus sécurisé !