Connectez vous en SSH à votre Raspberry Pi pour la contrôller depuis votre ordinateur
CommentairesDepuis un an et demi que nous tenons le blog Raspbian France, nous avons eu l’occasion de recevoir de nombreux mails d’utilisateurs se posant des questions sur des sujets très divers.
Parmi toutes ces questions, le fait de savoir comment prendre le contrôle de la Raspberry Pi à distance revient très fréquemment !
Alors, vous avez acheté et installé votre Raspberry Pi (si ce n’est pas encore fait, qu’attendez- vous ? Foncez !) mais vous n’avez pas d’écran et vous souhaitez la contrôler depuis votre ordinateur ? Pas de panique, nous allons vous aider !
SSH c’est quoi ?
Avant de voir comment contrôler la Raspberry Pi avec SSH, voyons exactement ce qu’est SSH.
SSH (pour Secure SHell) désigne à la fois un logiciel et un protocole de communication informatiques. Ce protocole possède par ailleurs la particularité d’être entièrement chiffré. Cela signifie donc que toutes les commandes que vous exécuterez via SSH seront totalement secrètes !
SSH a été créé en 1995 avec pour principal but de permettre la prise de contrôle à distance d’une machine à travers une interface en lignes de commande.
Aujourd’hui, SSH est principalement utilisé à travers l’implémentation libre OpenSSH qui est présente dans la plupart des distributions Linux.
Comment fonctionne SSH ?
Nous ne rentrerons pas ici dans les détails cryptographiques et autres. Nous nous contenterons de faire un rapide tour d’horizon afin que vous saisissiez un peu mieux comment utiliser SSH.
De façon générale, SSH permet de se connecter à distance sur une machine en utilisant un compte utilisateur de la dite machine.
Pour cela, l’ordinateur qui doit se connecter à la machine distante va fournir à celle-ci le nom de l’utilisateur à utiliser et son mot de passe. Il est possible dans certains cas d’utiliser un jeu de certificats sur l’ordinateur et la machine distante, permettant ainsi d’obtenir une connexion sécurisée sans avoir à taper un mot de passe. Il s’agit là d’un cas d’utilisation plus poussé que nous n’aborderons pas ici.
Par défaut SSH propose uniquement une prise de contrôle en lignes de commande. Il est possible dans certains cas d’ajouter une interface graphique mais il s’agit là d’une méthode plus complexe que nous ne verrons pas ici.
Installer SSH pour prendre le contrôle de votre Raspberry Pi
Maintenant que nous en savons un peu plus sur SSH, voyons comment le mettre en place pour contrôler votre Raspberry Pi !
Tout d’abord, vous devez savoir que l’installation de SSH se découpe en deux parties. En effet, vous aurez besoin d’un côté d’un serveur SSH sur votre Raspberry Pi et d’un autre d’un client SSH sur votre ordinateur. Le premier recevra les commandes à lancer tandis que le second les enverra.
Activer le serveur SSH sur votre Raspberry Pi
Pour un tutoriel un peu plus complet, voir comment activer SSH sur le Raspberry Pi.
Par défaut, SSH est installé sur la Raspberry Pi, mais est désactivé pour des raisons de sécurité. La première chose à faire sera donc d’activer SSH sur votre Raspberry Pi.
Pour cela, il vous suffit de brancher la carte MicroSD de votre Raspberry Pi sur votre ordinateur, de vous rendre sur la carte, et de créer un fichier nommé ssh
dans la partition boot
.
Une fois ceci fait, il ne vous reste qu’à remettre votre carte SD dans votre Raspberry Pi, et SSH sera activé à son prochain démarrage.
Notez bien que maintenant que SSH est activé, tout compte créé sur votre Raspberry Pi peut être utilisé pour se connecter via SSH. Assurez-vous donc d’employer des mots de passe forts (et notamment de changer le mot de passe par défaut de l’utilisateur pi
)!
Installer le client SSH sur votre ordinateur
Cette fois, pas de bonne nouvelle, à priori vous n’avez pas de client SSH installé chez vous. Il y a donc deux possibilités, soit vous avez un ordinateur sous Windows (et nous nous demandons bien pourquoi :b), soit vous avez un ordinateur sous Linux (et les femmes – ou les hommes d’ailleurs – se jettent à vos pieds, vos ennemis vous craignent et vos amis vous envient).
Nous allons donc voir l’installation d’un client SSH pour les deux cas.
Installer un client SSH sur Linux
Si vous êtes sous Linux, vous le savez déjà, le monde est plus beau ! Pour installer un client SSH, rien de plus simple, il vous suffit de lancer la commande suivante :
sudo apt-get update && sudo apt-get install openssh-client
Vous voyez, tout est plus simple sous Linux (oui, nous sommes de mauvaise foi) !
Installer un client SSH pour Windows
Vous avez fait le mauvais choix mais il vous sera beaucoup pardonner (enfin peut-être)…
Vous allez devoir installer le logiciel Putty qui est un client SSH et TelNet. Vous pourrez trouver cet excellent outil sur le site dédié.
Point intéressant, Putty fait partie de ces logiciels qui ne nécessitent pas d’installation !
Utiliser SSH pour vous connecter à la Raspberry Pi
Maintenant que nous avons installé un serveur et un client SSH, il ne nous reste plus qu’à les utiliser.
Là encore, deux méthodes différentes selon que vous soyez sous Linux (béni soit le grand pingouin) ou sous Windows (que se brise ses carreaux).
Dans le fond, le principe reste néanmoins le même, utilisez le client SSH pour communiquer avec le serveur, ceci à l’aide de l’adresse du serveur, d’un nom utilisateur et du mot de passe associé.
Utilisez SSH avec Linux (ou Mac OS X)
Comme toujours avec Linux, il vous suffit d’une seule ligne de commande pour vous connecter à la Raspberry Pi.
ssh utilisateur@adresse_ip_ou_url_serveur
Bien entendu, vous devrez remplacer « utilisateur » par le nom de l’utilisateur avec lequel vous souhaitez vous connecter et « adresse_ip_ou_url_serveur » par l’IP du serveur ou son adresse URL si il en possède une.
Une fois que vous aurez rentré le mot de passe du compte utilisateur (lequel, pour des questions de sécurité, ne s’affiche pas quand vous le tapez), vous serez connecté au terminal de la Raspberry Pi et toutes les commandes tapées seront faites sur la Raspberry Pi ! Pour quitter SSH il vous suffit d’utiliser la commande « exit ».
Si vous utilisez un Mac, c’est la même chose, ouvrez votre terminal et utilisez les mêmes commandes. Un client SSH est normalement installé par défaut.
Utilisez SSH avec Windows et Putty
Pour Windows, comme souvent, il va falloir passer par l’interface graphique. Vous allez donc devoir lancer Putty et remplir les informations comme sur l’image ci-dessous.
Là aussi, remplacer « adresse_ip » par l’adresse IP ou l’URL du serveur. Pour information, le numéro du port (22) est le port par défaut de SSH.
Une fois ceci fait, cliquez sur le bouton « Open ». Une fenêtre de console devrait s’ouvrir en vous demandant le nom d’utilisateur que vous souhaitez utiliser puis son mot de passe. Une fois ceci fait, vous serez connecté à la Raspberry Pi, comme sous Linux il vous suffit de taper « exit » pour quitter la connexion.
Sachez qu’il est possible d’enregistrer des configurations SSH avec Putty. Si vous souhaitez employer cette fonction, nous ne pouvons que vous conseiller de ne pas enregistrer le mot de passe, ceci étant véritablement une mauvaise pratique en terme de sécurité !
Conclusion
Voilà, vous savez maintenant comment contrôler votre Raspberry Pi à distance avec SSH !
Il ne vous reste plus qu’à en profiter pour aller installer votre cloud chez vous ! Et si vous préférez utiliser un bon vieil écran et un clavier, allez donc faire un tour sur notre article sur les accessoires !
Bonjour.
Quels sont les liens physiques ?
1) Un ou plusieurs câbles ?
2) Câble Ethernet ou câble USB ?
3) Câble ou câbles reliés comment ?
Ma première idée était de mettre un câble éthernet entre un PC et une Raspberry.
Mais dans des réponses à certaines questions, vous parlez d’une connexion à une box.
Alors, faudrait-il mettre un câble ethernet entre la RPi et la box, et un autre câble ethernet entre le PC et la box ?
(Je suis débutant complet.)
Bonjour, SSH est généralement dédié à un contrôle par internet. Il faudra donc un lien entre le RPi et la box, qu’il s’agisse d’un lien ethernet physique, ou d’un lien Wi-Fi. Et la même chose entre la box et le PC. Il est également possible de se connecter directement au Raspberry Pi, sans internet, via l’utilisation du port série.
Pour cela, il vous suffit de brancher la carte MicroSD de votre Raspberry Pi sur votre ordinateur, de vous rendre sur la carte, et de créer un fichier nommé ssh dans la partition boot.
Sauf que sur mac c’est beaucoup moins évident.
Il faut ouvrir le terminal et taper touch ssh, votre fichier va ainsi être créé dans votre dossier utilisateur. A glisser comme indiqué dans la partition boot.
Bonjour est t’il possible de se connecter en shh via une autre box ?
Salut, oui c’est possible mais pour ça il faut configurer la box à laquelle le pi est reliée pour transférer les paquets reçus sur le port 22 vers le pi. Voit notre tuto sur le DynDNS et le port forwarding.
Bonjour, j’ai essayé plusieurs fois de connecter ma carte micro SD sur laquelle est installé Raspbian mais quand le l’insert dans le port micro SD de mon PC windows 10, mon PC crash avec un écran bleu et un code d’erreur : PFN_LIST_CORRUPT qui signifie (d’après mes recherches) qu’il y a des problèmes de compatibilité avec les drivers de la carte micro SD. Comment accéder aux fichiers de la carte micro SD qi elle fait crasher n’importe quel PC dans lequel elle est insérée ? Merci
Bonjour, je n’ai jamais rencontré le problème et je n’utilises pas Windows, je ne peut donc pas vraiment t’aider. Je te conseils d’aller demander de l’aide sur le forum.
La grosse faiblesse de cette présentation est que on omet deux particularités
a) sous Windows, cygwin+X supporte très confortablement ssh (cygwin offre en outre la possibilité d’avoir des lignes de commandes identiques à celles du RPi, un interpretur python, des compilateurs c, c++ et fortran… comme le Rpi)
b) il y a la possibilité de « forwarder » x, et d’avoir des applications graphiques, ‘tournant » sur RPi, beneficiant d’un ecran, d’un mulot -et bien sûr, d’un clavier- distants….
Le signaler -et mettre un lien vers un tutoriel, pour ceux qui veulent en savoir plus- peut rendre la vie plus attrayante (google m’a trouvé https://unix.stackexchange.com/questions/12755/how-to-forward-x-over-ssh-to-run-graphics-applications-remotely. J’ai pris conscience de cette possibilité grâce à Hackable -de mémoire, en 2016: ça laisse du temps de se documenter)
Installer Cygwin/X juste pour un SSH me semble très superflu, alors que Putty permet de faire ça très bien avec un logiciel qui n’a même pas besoin d’être installé. Il est effectivement possible de forwarder X mais ce n’est pas l’objet de ce tutoriel. Nous ferons probablement un tutoriel sur ce sujet un jour et à ce moment nous ferons un lien depuis le tutoriel actuel.
Il ne faut pas perdre de vu que ce type de tutoriels ne s’adressent pas à des utilisateurs avancés mais bien à des débutants, pour lesquels rajouter encore et toujours des détails et des spécificités ne fait que rendre le message plus confus.
J’ai un souci avec SSH et un de mes Rpi: je me connecte bien je peux faire des commandes de base (cd, mkdir, ..) mais des que je veux faire nano raspi-config ou midnight commander je ne vois plus rien dans la fenêtre SSH.
Je lance SSH avec putty sur un PC windows ou bien sur un autre Rpi ce qui me fais penser qu’il y a un problème côté serveur SSH du genre mapping de caractères supérieurs à 127.
Salut, alors là problème inconnu de mon coté, tu devrais demander sur le forum.
Je cherche le password pour entrer en connexion dans le logiciel putty et selon ce que j’écris il m’écris toujours access denied Ou est-ce que je trouve ça ?
Salut, de base le mot de passe de la Raspberry Pi est « raspberry », et le login « pi ».
« (en fait trois, mais si vous avez un mac vous vous débrouillerez tout seul) » Pas cool, je suis sous macOS du coup je dois me débrouillez autrement avec d’autres sites pour apprendre… « merci »…
Nous avons effectivement modifié l’article pour indiquer la procédure sous Mac.
Bonjour,
Merci pour ce site et cette article c’est vraiment top et très clair 😉
Je suis totalement novice : J’ai tout le matériel qu’il faut (je pense).
Mais j’ai un problème avec la ligne : « Là aussi, remplacer « adresse_ip » par l’adresse IP ou l’URL du serveur. »
Comment je trouve mon adresse ip ou l’URL du server ?
J’ai mis l’adresse IP de mon ordi en tapant le commande « ipconfig » J’ai un message d’erreur de putty.
J’ai mis l’adresse IP de ma freebox et j’ai le même problème…
D’où peut venir le problème… Ca à l’air tellement basique que je ne trouve la solution nulle part…
Merci d’avance pour votre aide en tout cas !
Pour trouver l’IP de la raspberry, le plus simple est d’aller sur l’interface d’administration de ta freebox qui devrait lister les ordi connecté, et notamment la raspberry pi avec son ip interne.
Hello, j’ai bien suivi les instructions mais je n’arrive pas à accéder à mon raspberry pi même en ayant bien pris l’adresse ip interne, putty m’indique donc « connection refused ».
Voilà j’espère que vous pourrez m’aider merci !
Salut, si tu as la possibilité de connecter un écran/clavier à la pi, tu devrais vérifier que le SSH est bien activé.
Bonjour
Je ne comprends pas quel est l’adresse ip du serveur à entrer travers l’interface putty?
Salut, ça dépendra de chaque cas. C’est l’IP de la raspberry pi en fait qu’il faut rentrer. À toi de la trouver sur ton réseau.
Bonjour
depuis aujourd’hui, impossible d’exécuter ssh à partir de mon pc
putty error Network error : connection refused
j’ai créé sur la sdcard le fichier ssh
j’ai toujours le problème
comment faire ?
Peut-être un changement de l’IP de la rasp ?
Salut,
pour activer SSH sur les dernières versions de ras-bain, il faut se connecter dessus via un écran-clavier et faire
sudo systemctl enable ssh.service
et
sudo systemctl start ssh.service
Et voila, votre raspberry répondra aux requêtes SSH
Bonjour,
Total newbie sur Linix, je débute avec un Orange Pi Zero.
Mon problème est le suivant: avant de se connecter en SSH il faut activer celui-ci. Mais comment faire quand on n’a pas d’ordi sous Linux ?
Je suis bloqué 🙁
Il faut mettre quel extension pour le fichier ssh que l’on rajoute dans le dossier boot
Bonjour,
Ce fichier n’a pas besoin d’extension
Super article, bravo pour la simplicité et l’explication limpide!
merci pour ce sujet , je le trouve très utile
merci 🙂
Bonjour,
Je me permets de vous soumettre mon micro retour.
Dans le paragraphe : »Activer le serveur SSH sur votre Raspberry Pi »
Pour m’a part j’ai mis le fichier ssh à la racine de la carte.
Cdlt,
Salut,
plus précisément, dans dans la PARTITION boot qu’il faut mettre un fichier « ssh », d’après la documentation officielle:
https://www.raspberrypi.org/documentation/remote-access/ssh/
Bonjour,
Je viens d’acheter un Raspberry pi3.
J’ai suivis étape par étape ce que vous expliquez.
Comme je suis avec windows 8, j’ai fais appel à Putty, J’ai entré mon adresse IP tel que demandé, Une fenêtre console s’ouvre mais aucune question m’est posée comme vous l’expliquez, et je ne peux entrer aucun texte et au bout de quelques secondes un message » Connection timed out » apparaît.
Pouvez-vous m’aider
Merci et bonne journée
Jacques
Bonjour,
Cela indique que Putty n’a pas été capable de trouver la pi, es tu sur de l’adresse ip ?
Bonjour et merci de m’avoir répondu rapidement.
j’ai demandé mon adresse IP sur le site » monIP »
Bonjour,
Ok c’est normal alors. Le site t’a donné l’adresse ip externe. Or ta Raspberry Pi n’est accessible qu’en local, donc pour trouver son ip, tu peux te rendre sur le portail de ta box.
Généralement l’ip local est du type : 192.168.1.12 🙂
Bonjour,
Tout d’abord je ne suis pas très calé en info. Si je suis arrivé ici c’est parce que quand je démarre mon raspberry rien ne s’affiche sur mon écran. Je tombe donc sur un de vos tuto qui dit que c’est surement la sortie video qui est mal configuré et que je dois changer ça en me connectant par SSH. Du coup j’arrive sur ce tuto et je bloque ici :
Dans Putty je dois je cite » remplacer « adresse_ip » par l’adresse IP ou l’URL du serveur. » Ok mais je le trouve ou cette adresse ip du serveur ?
Merci
Salut,
tu peux la trouver via des outils comme nmap, ou encore plus facile, directement depuis l’interface de configuration de ta box internet.
Bonjour ou trouver l’adresse ip ed son raspberry ? merci
Salut, soit via nmap, soit sur la page de configuration de ta box.
Bonjour,
J’ai suivis le tuto, tout est installé comme il faut, cependant je ne trouve pas le bon nom d’utilisateur et mot de passe à utiliser pour la connexion et je ne sais pas comment utiliser une clé, quant à la config d’openssh j’ai un peu du mal.
Si vous avez deux ou trois petites infos pour la config et les identifiants de bases je suis preneur ^^
Problème réglé, il suffisait de se connecter avec « root » et le mot de passe c’est celui du compte utilisateur.
Le nom d’utilisateur le mot de passe pour se connecter en SSH sont les identifiants que tu utilise pour te connecter a ta raspberry habituellement
Bonjour à tous,
Petite question.
Pas de problème pour la connexion SSH via l’éthernet.
Ma pi 3 est en wifi, je ping bien, je test donc la connexion sans câble « donc en wifi » j’ai bien la fenêtre qui apparaît me demandant l’user à utiliser et après avec saisi le mot de passe j’ai une authentification refusée…
J’ai tester avec un compte user et également en root.
Quelqu’un à une idée ?
Merci d’avance
Salut,
Nous n’avons pas rencontré ce problème, passe sur le forum, quelqu’un pourra peut-être t’aider !
Bonjour,
Merci pour cet article (et les autres aussi d’ailleurs) très instructif.
Pardonnez moi par avance pour ma question mais je débute sous Linux depuis peu (Ubuntu) et j’ai reçu ma Raspberry pi 3 hier sur laquelle j’ai installé Raspberry.
Voila j’utilise VNC pour contrôler ma RPI depuis mon pc et j’ai du mal à saisir la différence de VNC avec SSH.
Les deux sont-ils complémentaires? concurrents? L’un est-il meilleur que l’autre? N’ont-ils rien à voir?
Merci pour votre aide
Stefano
Salut,
VNC est un protocole qui permet de prendre graphiquement le contrôle d’un ordinateur distant.
SSH lui est plutôt destiné à prendre le contrôle en ligne de commande et de façon ultra sécurisé.
Il sont plutôt complémentaires.
j’utilise SSH mais dans le cas de Raspbian le compte root est désactivé.
J’ai bien compris qu’on pouvait modifier le mot de passe avec la commande passwd mais a quoi cela sert il puisqu’on peut utiliser le mode su une fois loggé avec l’utilisateur pi…
Le fait qu’il soit désactivé oblige à passer en super utilisateur pour éviter qu’on soit en permanence root au risque de faire des bêtises plus grandes que nos compétences, c’est l’idée ?
Je ne suis pas sûr d’avoir été clair 😛
Salut,
passwd sert à modifier le mot de passe de l’utilisateur « pi », ça permet d’éviter de garder le mot de passe par défaut qui entraîne des risques de sécurité.
Il est possible d’activer le compte root via passwd, mais ce n’est pas recommandé !
Bonjour à tous,
je suis nouveau!
J’ai reçu avant-hier mon premier Raspberry Pi 2B et j’ai installé Noobs/Raspian hier sans problème à part que l’installation s’est faites en 5 heures! Un peu long… Mais bon, j’étais parti de Noobs Lite (installation online). Enfin tout marche bien et mon Raspi démarre en quelques secondes.
Mon utilisation future: remplacer mon actuel serveur de webcam avec mjpg-streamer (une ancienne Eeebox sous LinuxLite XFCE)
Je voulais signaler un problème dans cet article. Les lignes de commandes comme celle-ci sont erronées. Il faut remplacer les « && » doivent être remplacés par des « && ». Bon, il est possible que ça ne soit pas le cas pour tout le monde. Peut-être un problème de codage. Moi, je suis en Unicode (utf-8).
Par exemple:
sudo apt-get update && sudo apt-get install openssh-client
doit être remplacé par:
sudo apt-get update && sudo apt-get install openssh-client
Bonjour,
Merci pour le retour, nous avons corrigé le problème.
Article clair mais il est bien dommage que l’authentification par certificat ne soit pas abordée…
Salut,
effectivement nous n’avons pas abordé ce point qui nous semble un peu plus complexe et qui demanderai de développer des concepts qui méritent leur propre article.
Par ailleurs, nous n’utilisons jamais l’authentification par certificat (nous passons notre temps à passer d’une machine à l’autre, du coup c’est plus intéressant pour nous de connaître les passwords ;))
Attention à la relecture m’sieur dame :
Alors, vous avez achetez et installer votre Raspberry Pi << acheté
avec pour principale but << but, nom masculin, donc "principal"
Il s’agit là d’un cas d’utilisation plus poussé que nous n’aborderons pas ici. << j'ai un doute sur le "plus poussée" (l'accord se fait-il avec "cas" ou "utilisation" ?)
Cette fois, pas de bonne nouvelle, à priori vous n’avez pas ***de*** client SSH installé chez vous.
Vous avez fait le mauvais choix mais il vous sera beaucoup pardonner (enfin peut-être)… << pardonné
que se brise ses carreaux << que se brisent
lequel, pour des questions de sécurité, ne s’affiche pas quand vous le taper << tapez
Et au passage, concernant putty :
nous ne pouvons que vous conseiller de ne pas enregistrer le mot de passe, ceci étant véritablement une mauvaise pratique en terme de sécurité ! << Ca tombe bien, PuTTY ne permet pas de le faire… KiTTY en revanche oui 🙂
Salut,
nous avons publié l’article en pensant que nous l’avions relu… Une petite erreur de manipulation…
Il me semble qu’il est possible d’enregistrer le mot de passe dans une « saved session ».
Autre chose, destinée à sécuriser l’accès SSH : changer le port 22 par défaut par un autre, moins connu 😉
Salut,
concernant ce point je dois dire que je suis en parfait désaccord (même si c’est vrai que c’est un conseil qui reviens souvent).
Je trouve que ça reviens un peu à mettre une serrure tout en haut sur une porte pour empêcher un voleur qui a un passe partout de rentrer s’il ne se ballade pas avec une échelle.
Au final, il suffit qu’il revienne avec une échelle et toi tu as toujours besoin d’en avoir une sur toi pour ouvrir ta porte !
Personnellement je préfère utiliser des système comme fail2ban pour bloquer le SSH pendant 10 minutes au bout de 3 échecs d’identification ! Ça rend le brut force impossible et c’est beaucoup plus sûr qu’un simple changement de port 🙂
Bonjour à tous et merci pour cet article. J’ajouterais qu’il est parfaitement possible de s’affranchir du mot de passe en utilisant un jeu de clés privées. Le comment faire, pour un poste client sous Linux est très bien expliqué dans la documentation d’Ubuntu. Je le fais régulièrement pour accéder à mon Raspberry Pi 2.
Hello les comiques ;-),
je travaille « présentement » avec une tablette Asus T100, Win10.
Mais, j’ai Debian et Ubuntu en machines virtuelles, histoire d’être plus « polyvalent » ;-).
Désolé, mais je suis un « vieux » de PC depuis plus de 30 ans. Je me soigne avec RPi2, mais Linux…j’ai encore du mal…
Donc, si vous pouviez « m’aiguiller » vers des destinations intéressantes (svp, pas la falaise de la pomme!!), ce serait bien aimable.
Très cordialement,
J-P Danguy
Salut,
si tu commences avec linux, va donc faire un tour sur notre cours sur le sujet !