Ce petit tuto permet de créer les clés et de paramétrer ssh, non seulement sur un raspberry Pi mais sur n’importe quelle distribution Linux, seule l’activation / installation changent. Si vous n’êtes pas sur raspberry il vous suffira d’installer openssh-server, le serveur ssh sera alors dispo sur le port 22.
Activer le service ssh sur le raspberryPi :
sudo raspi-config
Interfacing options / SSH / activer
Rebooter le raspberryPi, Ssh est maintenant actif sur le port 22 (ifconfig pour connaitre l’ip de votre RPi)
Pour raspberry et tout autre système linux :
Sur le poste serveur, créer le dossier .ssh dans votre /home/pi/ et dedans y créer le fichier authorized_keys
soit physiquement sur le serveur, soit en ssh avec ssh pi@ip_du_rpi
mkdir ~/.ssh/
touch ~/.ssh/authorized_keys
Toujours sur le poste serveur, modifier les droits du fichier :
chmod 600 ~/.ssh/authorized_keys && chmod 700 ~/.ssh/
Sur le poste client, modifier les droits du dossier .ssh :
chmod 700 ~/.ssh && chmod 600 ~/.ssh/*
Sur le poste client, générer le couple de clés (privée et publique) et vérifier qu’elles sont bien dans /home/pi/.ssh/
ssh-keygen -t rsa -b 4096 -f ~/.ssh/nom_de_votre_cle
Sur le poste client : Copier la clé publique sur le serveur avec scp dans .ssh
scp nom_de_votre_cle.pub pi@ip_du_rpi:.ssh
Sur le poste client : Ajouter le client dans le fichier authorized_keys du serveur :
ssh pi@ip_du_rpi ″cat .ssh/nom_de_votre_cle.pub >> .ssh/authorized_keys″
Sur le poste serveur : Relancer le service SSH
sudo service ssh restart
Se connecter en ssh sur le serveur une première fois puis éditer le sshd_config
ssh pi@ip_du_rpi
sudo nano /etc/ssh/sshd_config
Modifier les valeurs suivantes :
PubkeyAuthentication yes
PasswordAuthentication no
AuthorizedKeysFile (décommenter)
vérifier que PermitRootLogin est bien sur NO
StrictModes yes
UsePAM no
sudo service ssh restart pour valider les changements.
Voila, bienvenue dans votre nouveau tunnel sécurisé ssh !
Au final ce n’est pas très long ni compliqué, sauf que pour trouver un bon tuto, entier, à jour et qui fonctionne, j’ai assez lutté, donc voilà pour vous en espérant que cela marche aussi bien chez vous que chez moi.
Vous pouvez maintenant avoir accès à votre raspberry 3 (ou autre) avec votre clé privée. Avec le navigateur de fichier : réseau / ajouter un serveur, ou par sftp avec filezilla ou autre client ftp avec le protocole sftp (ftp par ssh).
Merci pour ce tutoriel. J’ai cependant eu un problème à la toute dernière étape : j’avais donné un nom personnalisé à ma clé publique/privée côté serveur. Cela ne fonctionnait pas. Il faut que la clé privée se nomme « id_rsa » pour pouvoir se connecter au Raspberry (testé avec un Pi 4, dernière version de Raspbian).