Raspberry Pi : se connecter en SSH

Cet article est la suite du précédent : comment installer Raspbian sans écran

Notre système est installé, on peut maintenant tenter de le démarrer. Vérifiez que le Raspberry Pi est bien connecté sur un cable Ethernet relié à votre réseau (box, routeur, …).

La nouvelle version de Raspbian active par défaut le SSH sur le Raspberry, ce qui est une bonne chose car cela aurait été sans cela beaucoup plus difficile.

Pour démarrer le Raspberry, il suffit de lui brancher son alimentation et d’attendre une minute pour que le système soit prêt. A partir d’ici nous allons travailler dans un terminal pour exécuter des commandes. Ouvrez donc une fenêtre terminal. Je rappelle que je suis sous Linux Mint, et donc tout ce qui suit décrit ce qu’il faut faire en étant sous linux.

La plupart des commandes se font directement en mode console, mais certaines doivent être précédées de sudo, car elles demandent des droits administrateurs pour être exécutées.

Il faut à ce stade connaître l’adresse IP du Rapsberry Pi. Plusieurs méthodes pour cela.

  1. Vous avez un routeur, et vous pouvez lire la table DHCP de ce dernier : elle vous donnera la liste des ordinateurs connectés et leur IP.
  2. Vous avez une tablette sous Android connectée à votre réseau local, installer Fing et scanner votre réseau. Il vous donnera la liste des machines connectées ainsi que leur IP, leur adresse MAC, et vous permettra aussi de connaître les services actifs sur chacune d’elles.
  3. Vous n’en savez rien du tout, il va falloir se remonter les manches. Nous allons nous mettre dans le pire des cas : celui-ci.

Trouver l’adresse IP de votre Raspberry

Pour cela nous allons utiliser nmap. nmap permet (entre autre) de scanner un réseau pour y détecter les machines présentes, les ports ouverts. On commence par installer nmap si ce n’est déjà fait. Dans la console, lancez la commande :

sudo apt-get install nmap

Une fois installé, on va scanner son réseau local. Tout d’abord, connaître l’IP du pc sur lequel on travaille. Pour cela :

ifconfig

Exemple de réponse de la commande :

 eth0      Link encap:Ethernet  HWaddr XXXXXXXXXXXXX
          inet adr:192.168.1.60  Bcast:192.168.1.255  Masque:255.255.255.0

L’adresse IP de ma machine est donc 192.168.1.60, ce qui veut dire que mon Raspberry sera sur une adresse en 192.168.1.xxx. Il me faut donc scanner ce réseau : 192.168.0.0/24.

Je lance nmap par la commande suivante :

sudo nmap -O 192.168.1.0/24

Le résultat est un peu long, en voici un morceau choisi :

Nmap scan report for 192.168.1.100
Host is up (0.0096s latency).
Not shown: 999 closed ports
PORT   STATE SERVICE
22/tcp open  ssh
MAC Address: xxxxxxxxxxxxxxxxxxxxxx
No exact OS matches for host (If you know what OS is running on it, see http://nmap.org/submit/ ).

Donc je connais l’adresse IP du Raspberry : 192.168.1.100. De plus je peux voir aussi que le service ssh est ouvert, ce qui va me permettre de me connecter. Allons-y.

Lancer une connexion SSH

Si on n’a pas modifié les paramètres par défaut à l’installation, le nom d’utilisateur est pi et le mot de passe raspberry. SSH permet de se connecter sur un ordinateur distant, en cryptant les données, et d’exécuter des commandes sur ce pc.

Il suffit d’écrire : ssh nom_utilisateur@ip-de-la-machine. Donc :

ssh pi@192.168.1.100

Là je reçois la demande de mot de passe :

pi@192.168.1.101's password:

On écrit donc raspberry. Le texte ne s’affiche pas ce qui est tout à fait normal. On valide, on reçoit alors à la première connexion une demande d’autorisation de clé. Ce sont les clés de cryptage du SSH. On accepte et nous voila connecté sur la Raspberry :

Linux raspberrypi 3.12.22+ #691 PREEMPT Wed Jun 18 18:29:58 BST 2014 armv6l
The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.
Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
pi@raspberrypi ~ $

La dernière ligne, le prompt, nous montre bien que nous ne sommes plus sur la console de notre pc mais sur celle du Raspberry. C’est gagné !

Mettre à jour le système

Première chose à faire : mettre à jour la Raspbian. C’est une bonne chose à faire que de maintenir son système à jour. Les commandes qui suivent pourront donc être lancées de temps en temps pour faire une mise à jour.

On commence par rafraîchir la listes des packets existants, ce qui permettra au Raspberry, par comparaison de version de savoir ceux qui ont besoin d’une mise à jour.

sudo apt-get update

Puis, on lance la mise à jour. Il nous donne la liste des packets à actualiser, on répond oui et on laisse faire.

sudo apt-get upgrade

Mettre en place une connexion VNC

Peut être avez-vous maintenant envie de voir tourner le Raspberry comme si vous étiez devant un écran et de l’utiliser comme tel. Oui mais, comme moi, vous n’avez pas d’écran. Qu’à cela ne tienne, on va installer un serveur VNC sur le Raspberry, ce qui nous permettra une prise en main distante. Pour cela, installons tightvncserver :

sudo apt-get install tightvncserver

Ensuite, on lance le serveur vnc par la commande :

vncserver :1

Lors du premier lancement, on vous demandera un mot de passe qui sera celui du serveur VNC. Mettez donc le mot de passe souhaité. (note : le « :1 » signifie qu’on lance le vnc et qu’on créer une instance qui écoutera sur « 1 ». Il est possible donc d’en lancer plusieurs, sur d’autres valeurs bien sur).

Le serveur VNC tourne, essayons de nous connecter en mode graphique. J’ouvre une deuxième console sous Linux, la première servant au SSH. Il me faut un client VNC pour me connecter. Si je n’en ai pas déjà un, je vais installer xtightvncviewer

apt-get install xtightvncviewer

Ensuite je me connecte en précisant l’ip de mon Rapsberry, et le canal du serveur VNC :

xtightvncviewer 192.168.1.100:1

Je donne le mot de passe et…. me voila connecté à distance sur mon Raspberry !

vnc

Quand j’ai terminé, je ferme la fenêtre. Il est temps d’éteindre le Raspberry. Je repasse sur la console SSH et je lance la commande d’extinction des feux :

sudo shutdown -h 0

Un premier message me confirme que le Raspbery va s’éteindre :

Broadcast message from root@raspberrypi (pts/0) (Wed Aug 13 19:25:59 2014):
The system is going down for system halt NOW!

Un dernier que la connexion SSH est fermée (car le système est éteint). Je peux alors débrancher l’alimentation du Raspberry.

Connection to 192.168.1.100 closed by remote host.
Connection to 192.168.1.100 closed.

C’est tout pour aujourd’hui.

 

4 commentaires

  1. I like the helpful information you provide in your articles. Ill bookmark your weblog and check again here regularly. I’m quite certain I will learn plenty of new stuff right here! Good luck for the next!

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *