Prenez le contrôle de votre Raspberry Pi avec SSH

Contrôlez votre Raspberry Pi avec SSH depuis votre ordinateur

Mis à jour le - 17 Commentaires - , , , , , ,

Depuis 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.

Installer le serveur SSH sur votre Raspberry Pi

Vous voulez une bonne nouvelle ? Le serveur SSH est installé et activé par défaut sur la Raspberry Pi !

Si toutefois, pour une raison inconnue, cela n’était pas le cas, il est très facile d’installer SSH. Pour cela, il vous suffit de lancer la commande suivante :

sudo apt-get update && sudo apt-get install openssh-server

Validez l’installation et voilà, c’est fait !

 

Normalement SSH devrait démarrer automatiquement au démarrage du système. Là aussi si ce n’était pas le cas, cela peut se régler en une seule commande :

sudo update-rc.d ssh defaults

Notez bien que maintenant que SSH est installé, 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 !

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 (en fait trois, mais si vous avez un mac vous vous débrouillerez tout seul), 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

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 ».

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.

Connectez vous en SSH avec Putty

Interface de connexion SSH avec Putty

 

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 !

Partager
Newsletter
Auteur :
Raspbian France
Rejoignez la communauté Raspberry Pi
Un ordinateur à 35€ déjà vendu à 8 millions d'exemplaires
ACHETEZ LA NOUVELLE RASPBERRY PI 3
Tutoriels en rapport
Installer un media-center avec OSMC sur votre Raspberry Pi ! Bien choisir vos accessoires pour les Raspberry Pi 3 et 2 RaspiSMS 2.0, envoyer des SMS par internet avec la Raspberry Pi Envoyer, gérer et recevoir des SMS avec la Raspberry Pi Faire de la vidéo-surveillance en ligne avec votre Raspberry Pi et sa caméra !
17 commentaires
Besoin d'aide ? Vous la trouverez plus vite sur notre forum.
  1. J-P Danguy dit :

    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

    1. Salut,
      si tu commences avec linux, va donc faire un tour sur notre cours sur le sujet !

  2. Alain dit :

    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.

  3. Alain dit :

    Autre chose, destinée à sécuriser l’accès SSH : changer le port 22 par défaut par un autre, moins connu 😉

    1. 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 🙂

  4. Mioux dit :

    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 🙂

    1. 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 ».

  5. Louis dit :

    Article clair mais il est bien dommage que l’authentification par certificat ne soit pas abordée…

    1. 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 ;))

  6. nettlebay dit :

    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

    1. Bonjour,
      Merci pour le retour, nous avons corrigé le problème.

  7. palmipode dit :

    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 😛

    1. 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é !

  8. Stefano dit :

    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

    1. 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.

  9. Viez dit :

    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

    1. Salut,
      Nous n’avons pas rencontré ce problème, passe sur le forum, quelqu’un pourra peut-être t’aider !

Partager
Inscription à la Newsletter
Inscrivez-vous à la Newsletter.
Vous avez aimé cet article ?
Inscrivez-vous et restez informé !