PI-SSH
Introduction
Secure Shell (SSH) est à la fois un programme informatique et un protocole de communication sécurisé. Il permet de prendre le contrôle d'une machine comme Raspberry PI à distance en utilisant une console.
Si cela peut paraître rudimentaire, c'est également extrêmement puissant... car il est possible de profiter du confort de son pc tout en communiquant et contrôlant son PI sans être physiquement sur place.
SSH inactif par défaut
SSH n'est plus actif au démarrage du Raspberry Pi, il faut l'activer par l'intermédiaire de l'utilitaire raspi-config (ou en modifiant la carte SD depuis votre ordinateur).
sudo raspi-config
Il suffit donc d'utiliser le logiciel adéquat pour entamer une connexion SSH (de type console en ligne de commande) avec le Raspberry PI. La seule chose a connaître, c'est l'adresse IP du Rapsberry sur votre réseau.
La session SSH requière une authentification de l'utilisateur. Cela se fait à l'aide du login/mot de passe par défaut de votre Raspberry qui sont:
- login: pi
- mot de passe: raspberry
L'adresse IP du Raspberry
Méthode directe
Le plus direct est d'utiliser la commande ifconfig dans un terminal du raspberry pi.
Cette commande fournit les information réseaux, y compris l'adresse IP.
pi@raspberrypi ~ $ ifconfig eth0 Link encap:Ethernet HWaddr b8:27:eb:ca:09:02 inet addr:192.168.1.17 Bcast:192.168.1.255 Mask:255.255.255.0 UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:43219 errors:0 dropped:0 overruns:0 frame:0 TX packets:21461 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:5654395 (5.3 MiB) TX bytes:2674475 (2.5 MiB)
L'adresse IP se trouve sur la ligne "inet addr" et est donc "192.168.1.17"
Méthode indirecte - Consulter le routeur
La plupart d'entre nous utilise un routeur tels que la BeBox de Belgacom ou une FreeBox (ou équivalent).
Lorsque Raspberry démarre, il fait une demande d'adresse IP auprès de la BOX.
La box maintient une liste des adresse IP récemment alloué... et le routeur est souvent accessible depuis un simple navigateur internet.
Le routeur est souvent accessible via l'adresse 192.168.1.1
Méthode indirecte - ping
Une autre méthode est de faire un ping des différentes adresses IP pour identifier celles qui sont allouées (qui retourne des information et non pas des erreurs).
Il suffit de commencer dans les adresses les plus passe (192.168.1.2) et d'augmenter le dernier chiffre essai par essai.
L'instruction ping est disponible sur la plupart des système d'exploitation.
ping 192.168.1.16
Voici un retour indiquant qu'il n'y a pas machine sur cette adresse IP
PING 192.168.1.16 (192.168.1.16) 56(84) bytes of data. From 192.168.1.3 icmp_seq=2 Destination Host Unreachable From 192.168.1.3 icmp_seq=3 Destination Host Unreachable From 192.168.1.3 icmp_seq=4 Destination Host Unreachable
Par contre:
ping 192.168.1.17
retourne une information nous indiquant la présence d'une machine (le temps de réponse en ms).
PING 192.168.1.17 (192.168.1.17) 56(84) bytes of data. 64 bytes from 192.168.1.17: icmp_req=1 ttl=64 time=3.06 ms 64 bytes from 192.168.1.17: icmp_req=2 ttl=64 time=0.720 ms
Reste alors a tenter une connexion SSH sur cette adresse IP nouvellement découverte. Si c'est un Raspberry PI, vous serez invité à entrer le mot de passe. Ensuite,
Méthode indirecte - nmap
Si vous utilisez un système unix/linux, vous pouvez très facilement détecter les adresses IP utilisées sur votre réseau local.
En utilisant la commande suivante, vous allez scanner tout le sous réseau de 192.168.1.x (c'est la gamme d'adresse IP la plus répandue pour les réseaux domestiques).
nmap -sP 192.168.1.0/24
Ce qui produit une série d'adresse IP:
L'adresse 192.168.1.1 est celle du routeur. Notre Pi s'adressant au serveur DHCP, il devrait donc avoir recu l'adresse 192.168.1.3 ou 192.168.1.4 (les deux autres adresses étant, dans notre cas, des serveurs de fichier en IP Fixe)
Tapons maintenant la commande suivante pour en apprendre sur l'adresse IP qui nous intéresse... (ex: commençons par 192.168.1.3)
nmap -sS 192.168.1.3
Bingo, nous avons trouvé notre Pi et en plus le port SSH est activé :-)
Client SSH
Pour se connecter en SSH sur le Raspberry on utilise un logiciel qu'on appelle SSH Client.
Il y a deux type de clients:
- Le logiciel émulateur (comme putty)
- Une commande unix/linux tel que ssh.
Logiciel SSH Client
Le plus connu sous Windows, Mac et Linux est Putty (Putty sur WikiPedia) qui se trouve être un logiciel libre. Pour Ubuntu, il est même disponible depuis la logithèque.
Source: diddy.boot-land.net
la commande ssh
Sous les systèmes Unix/Linux il est également possible d'utiliser directement la commande ssh depuis un terminal.
Cette commande permet de démarrer une connexion ssh client avec une machine distante.
Cette approche est terriblement pratique.
ssh pi@192.168.1.17
Le "pi" devant le signe @ est le nom d'utilisateur avec lequel on connecte sur le Raspberry.
L'adresse ip 192.168.1.17 est celle du Raspberry PI.
Une fois la connexion établie, vous serez invité à encoder le mot de passe de l'utilisateur "pi".
Le mot de passe par défaut sur un Rapsberry pour l'utilisateur pi est "raspberry" (il est important de changer ce mot de passe dès que possible).
WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
Si vous changez de Pi ou de système d'exploitation sur une même adresse IP, vous aurez immanquablement le message d'erreur suivant au moment de la connexion SSH.
WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
En effet, votre ordinateur dispose d'une clé d'encryption pour l'adresse IP qui ne correspond plus à celle de votre PI (puisque vous avez changez d'OS ou de Pi).
Résoudre ce problème est assez simple sur un système Linux, il suffit d'employer la commande suivante:
ssh-keygen -R <ip>
Voilà!
Normalement, là vous devriez pouvoir découvrir et obtenir une connexion ssh avec un Raspberry PI.
Toute référence, mention ou extrait de cette traduction doit être explicitement accompagné du texte suivant : « Traduction par MCHobby (www.MCHobby.be) - Vente de kit et composants » avec un lien vers la source (donc cette page) et ce quelque soit le média utilisé.
L'utilisation commercial de la traduction (texte) et/ou réalisation, même partielle, pourrait être soumis à redevance. Dans tous les cas de figures, vous devez également obtenir l'accord du(des) détenteur initial des droits. Celui de MC Hobby s'arrêtant au travail de traduction proprement dit.