Vous avez un/des raspis sur votre réseau, et vous devez souvent vous connecter en ssh dessus.
La méthode classique c’est de faire ssh pi@ip_raspi
et de taper le mot de passe.
Mais à la longue ça devient lassant; et ça peut être bloquant pour des scripts qui devraient
automatiquement accéder au raspi via SSH sans que vous soyez là pour taper le mot de passe.
La solution : exporter votre clé publique SSH vers le raspi (ou la cible ssh souhaitée, raspi ou pas).
Pour cela, on va utiliser ssh-copy-id, qui va copier votre clé publique de votre machine locale vers la machine distante. Une fois ceci fait, quand vous ferez ssh pi@ip_raspi, aucun mot de passe ne sera demandé, donc vous serez automatiquement connecté.
Étape 1 : générer vos clés si ce n’est pas déjà fait.
Si vous avez déjà généré vos clés, passez à l’étape suivante. Sinon, il suffit de taper la commande suivante : ssh-keygen.
La commande vous demandera alors ou stocker les clés, puis une passphrase pour protéger celles ci. Si vous ne saisissez rien pour le fichier de stockage, l’emplacement par défaut sera utilisé.
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/home/pi/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/pi/.ssh/id_rsa.
Your public key has been saved in /home/pi/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:7wFJMVP9+v97O1UG51R4PdSkqFQd9wfZEIpvQCl0zIU pi@raspberrypi
The key's randomart image is:
+---[RSA 2048]----+
| .=++=o.*XB|
| .*Eo.o==O|
| ..+ o..*+|
| . o + . =|
| S . o. ..|
| o .. .|
| o . .|
| . . ...|
| . +O|
+----[SHA256]-----+
Ici j’ai exécuté la commande sur un raspberry pi, mais c’est bien sur votre machine depuis laquelle vous travaillez que vous devez exécuter cette commande.
Étape 2 : exporter sa clé SSH vers la machine distante avec ssh-copy-id
On va maintenant exporter la clé SSH vers la cible avec ssh-copy-id : ssh-copy-id -i ~/.ssh/id_rsa.pub pi@ip_raspi
On vous demandera le mot de passe du raspberrypi, et une fois que vous l’aurez saisi, la machine distante recevra votre clé publique SSH.
Du coup à la prochaine connexion vous aurez juste à taper ssh pi@ip_raspi
:
Maintenant que ceci est fait, vous pourrez plus facilement utiliser rsync, scp, ansible, ou d’autres outils du genre pour administrer et maintenir facilement et rapidement votre machine distante.
Dans un prochain billet, nous verrons comment utiliser rsync pour copier des fichiers depuis votre poste local vers le raspi en une ligne de commande.vers un raspi
Liens
Un seul lien, indispensable pour ce sujet : la documentation officielle de ssh-copy-id
bnlxwk
Nice post. I loved the post.Thanks for sharing. Its really good blog. Keep it up.
5h1r29
3yg2gm
bhj8bm
c1h1eq
xwq4u5
znd5p0
he5t6j
zckhqk
x9197c