[résolu] Parametrage en SSH Rpi Zéro

Bonjour,

Au sujet du SSH, je comprends pas bien (désolé).
(J’ai reçu dernièrement mon Rpi zéro par traîneau volant )

ça peut fonctionner simplement en USB, avec uniquement un ordi et le Rpi?
Ou il faut créer un vrai réseau, assez complexe pour ceux qui n’y connaisse rien?

Salut,

Je ne suis pas informaticien.
Mais je suis doté de pas mal de machines (on me donne les trucs « vieux » ou « qui fonctionnent mal »).
Toutes les machines passent sous Linux.
J’ai aussi un Mac (base UNIX)

Je suis un adepte du SSH.
Car, en gros, ça permet la prise de commande d’une machine par une autre par connexion directe et sécurisée.
Et puis qd tu es « tout le temps » devant ton PC, tu peux commander ton PC et toutes les autres machines depuis le même siège.
Tu peux même dire, depuis ton Mac, de copier les fichiers du dossier « truc » du Rpi Zéro du garage dans le Rpi3B+ de l’étage.

Le souci ?
C’est en ligne de commande.
Mais qd on commence à jouer avec, c’est « trop cool »
Et puis, la fainéantise, ça se mérite :wink:

Je n’ai jamais testé une connexion USB.

J’ai un RpiZéro V1.3 et des Rpi autres.
J’ai plusieurs postes Linux (LinuxMint surtout)
Ils ont tous le SSH d’activé.

Sur ton RpiZéro, si tu installes Raspbian avec le bureau graphique, tu suis « bêtement » les fonctions de mise en route (choix de la langue, modif du mot de passe, mises à jour, …)
Ensuite, tu vas dans la configuration du Rpi pour activer le SSH (et VNC aussi).
Ensuite, c’est simple.
tu tapes ifconfig dans le terminal pour voir ton IP
Imaginons que le Rpi possède un compte unique « pi » et le mot de passe « Maux2pass » ( :smile: ) sur l’IP 192.168.0.15

Depuis un autre PC (sous Linux et Mac, on a un Terminal par défaut ; sous Windows, c’est PUTTY je crois), tu ouvres le Terminal et tu tapes ssh pi@192.168.0.15
ça te demande ton mot de passe « Maux2pass » (sans les guillemets) en sachant que tu ne verras rien lors de la frappe.
Tu valides et tu te retrouves connecté à ton Rpi.
Si tu tapes ifconfig, ça te donnera l’IP de ton Rpi.
Si tu tapes mkdir dossier-test, ça va te créer un dossier « dossier-test » au sein de ton utilisateur
Si tu tapes sudo nano /home/pi/Desktop/fichier-test.txt, ça va créer un fichier texte « fichier-test.txt » directement sur le bureau et l’ouvrir dans le Terminal.
Là, tu tapes je suis trop fort puis tu fais « ctrl »+« x » puis « o » puis « Entrée ».

Et tu vas voir ton Rpi et tu verras que tout y est :slight_smile:

Si tu es en « graphique », tu peux utiliser VNC et SSH.
Si tu es en Raspbian Lite, SSH sera ton seul ami.

VNC, c’ets la prise à commande à distance mais avec retour visuel complet (c’est moins drôle du coup … mais parfois bcp plus pratique, faut avouer).

++

Salut,

j’ai plus simple pour toi pour l’activation du SSH sans clavier ni souris.
En gros après la copie de du système avec etcher tu ajoute un répertoire ssh sur la carte sd et tu paramètre avec un fichier le sid de ton wifi.
et au démarrage le raspi comprend qu’il doit activer le ssh.

j’ai fait un tuto sur le sujet :

courage.
a+

@Nabla: les lignes de code, ça me gène pas c’est ce que j’avais prévu.

@Nabla et @Sglug: c’est pour un Rpi Zéro v1.3, donc pas de WiFi, je suppose donc qu’il faut passer par l’USB.

Si je traduit bien la page officielle https://www.raspberrypi.org/documentation/remote-access/ssh/README.md
Quand le Rpi démarre, il cherche le fichier « ssh ». S’il le trouve, le SSH est activé et le fichier est effacé. Le contenu du fichier n’importe pas, il peut contenir du texte ou rien du tout
donc, à priori, ce n’est pas un répertoire qu’il faut créer mais un fichier.
Là déjà, je me pose des questions:

  • si le fichier est effacé par le Rpi, cela voudrais dire que l’activation du SSH n’est que temporaire?
  • dans ce cas comment l’activer de façon constante?

Yo,

J’ai 2 RpiZero V1.3 car pas de wifi chez moi (volontaire).
Il y a qq jours, j’ai réinstallé Raspbian pour un test pour le forum.
J’ai un adaptateur microUSB vers USB
J’écris raspbian sur la carte
Je démarre le Rpi avec clavier et souris (souris sur USB du clavier, pratique).
En méthode graphique :
Je fais toute la séquence de démarrage sauf les MàJ évidemment (pas de connexion).
Je demande à activer le SSH.

En mode console (j’ai fait les 2) :
Je démarre et applique moi-même les modifs avec raspi-config, surtout modif de clavier, de mot de passe, activation de SSH, …

Je lance un redémarrage et retire le clavier pour fourrer un adaptateur USB vers RJ45 et le câble réseau.
Là, je passe en SSH depuis un autre PC et fais les MàJ.

Sinon, tu peux le faire en natif en créant ton fichier ssh avant de démarrer.
Et non, tu ne devras pas le refaire à chaque fois ; le SSH sera activé comme avec un raspi-config donc pas de souci.

Tu seras connecté au réseau par RJ45 ?

++

Non, le système a vocation à être autonome, le Rpi sera le cœur de mon régulateur solaire, la connexion ne servira que pour la maintenance, mise à jour et (re)programmation, éventuellement récupération de fichiers d’enregistrement de données.
ni écran (peut être un afficheur 2x16 caractères), ni clavier alphanumérique

Oui, moi aussi, j’aime pas le WiFi…

OK,
Donc soit tu fais comme moi en mode console lors de la première intervention sur le Rpi, soit tu fais création du fichier ssh pour activer au boot.
Ensuite, pour la maintenance, tu pourras passer en filaire ponctuellement via 2 adaptateurs (microUSB vers USB et USB vers RJ45)
Sauf si c’est faisable en liaison USB directe (et là, je ne sais pas, je n’ai jamais eu besoin de ça (maison totalement câblée donc bcp plus facile de connecter un câble au Rpi qui est habituellement hors réseau)

Salut,

je n’ai pas mis ça dans la vidéo, car je ne voulais pas dire un truc que je n’ai pas testé.
mais à priori dans le fichier « wpa_supplicant.conf », que tu pose avec le répertoire ssh, tu peux configurer ton réseau. c’est dans une partie network={…}
Ça évite quand même pas mal de manip de branchement de câble.

pour ceux qui se pose la question après le 1er démarrage le fichier wpa_supplicant.conf est supprimé.

Par contre si quelqu’un connait le code à mètre dans le network pour configurer le LAN directement. ça aidera d’autre moi j’ai que le PI 0W donc impossible à tester.
Comme dans le vidéo pour le wifi : c’est
ctrl_interface=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=fr
network={
scan_ssid=1
ssid=« le non du wifi »
psk=« le mot de passe »
key_mgmt=WPA-PSK
}
pour le wifi : le PI est le cerveaux d’un petit robot que je tente de fabriquer, et je me vois mal lui mettre un câble :slight_smile:

a+

Bonjour,

Cette manip semble « a priori » inintéressante, je viens de faire une recherche sur le net de répertoire ssh et de fichier wpa_supplicant.conf pour le premier démarrage et je n’ai pas trouvé.
Peux tu nous donner tes sources pour cette info ?

A+

Bonjour à tous,

Je suis en train d’étudier le lien suivant pour utiliser l’USB en mode SSH:
https://desertbot.io/blog/ssh-into-pi-zero-over-usb

Il fait référence à l’instruction suivante à insérer ds config.txt

dtoverlay=dwc2

mais je n’ai trouvé aucune référence à cette instruction sur les sites officiels/spécialisés Rpi, De même que j’ai presque rien trouvé sur cmdline.txt

@Sglug: désolé, si tu ne dis pas, ni ce qu’il est possible de configurer avec wpa_supplicant.conf, ni comment, comment pourrais-t-on utiliser?

Salut

oui c’est bien pourquoi j’ai fait cette vidéo, par ce que tu ne trouvera pas en l’état cette simple manip.
elle est pour moi le fruit de lecture de beaucoup de forum, blog et autre tuto.

A force d’essayer des tutos sans résultats concluant j’ai fini par combiné plusieurs sources.
par ex sur https://www.systutorials.com/docs/linux/man/5-wpa_supplicant.conf/ mon anglais n’étant pas très bon, j’ai trouver et a moitié compris la commande.

A force de tester ça a fonctionné, comme je note ce que je fais je me suis fais un mode opératoire que j’ai filmé.

et ce que je trouve bien avec la vidéo c’est que chacun peut voir le résultat et comprendre plus simplement ce qu’il faut faire,

et même si tu fais autre chose le fait d’avoir vu un installation c’est plus simple à appréhender.
c’est peu comme quand je prépare mes vacance, avec google street je regarde les environs de l’hôtel, ça me permet d’être plus à l’aise en arrivant. cr je reconnait les lieux.
et bien avec l’informatique c’est pareil. on regarde plusieurs choses et on composes les nôtres.

PS : en plus orthographe et moi on est un peu fâché, et depuis bien longtemps :slight_smile:

a+

heu… j’ai comme un doute…
(et il parait qu’en ligne de commande, il vaut mieux pas se planter pour pas reformater son propre disque dur)

j’ai téléchargé Raspbian Lite, vérifié le fichier (avec la clef de hachage SDA-256).
j’ai utilisé la commande (Linux) « lsblk », comme précisé ici:
https://www.raspberrypi.org/documentation/installation/installing-images/linux.md

Ce qui me dérange c’est que le nom de ma carte, selon eux devrait ressembler à /dev/mmcblk0 ou /dev/sdX, et chez moi, il n’y a pas de « /dev/ » la carte s’appelle « mmcblk0 »

Donc dois-je taper l’instruction

sudo dd bs=4M if=2018-11-13-raspbian-stretch-lite.img of=/dev/mmcblk0 conv=fsync

ou ne dois-je pas mette le /dev/ quand j’indique le fichier de destination?

Yo,

En ligne de commande avec « dd » = faut VRAIMENT pas se tromper en effet !!!

Tu devrais écrire ton image avec Etcher :wink:

Sinon,
Si tu fais ls /dev, tu vois quoi ?

Bah, une belle tartine…

    autofs           i2c-4               rtc       tty25  tty59      ttyS5
block            i2c-5               rtc0      tty26  tty6       ttyS6
bsg              initctl             sda       tty27  tty60      ttyS7
btrfs-control    input               sda1      tty28  tty61      ttyS8
bus              kfd                 sda2      tty29  tty62      ttyS9
cdrom            kmsg                sda5      tty3   tty63      ubuntu-vg
cdrw             lightnvm            sdb       tty30  tty7       uhid
char             log                 sdb1      tty31  tty8       uinput
console          loop0               sg0       tty32  tty9       urandom
core             loop1               sg1       tty33  ttyprintk  usb
cpu              loop2               sg2       tty34  ttyS0      userio
cpu_dma_latency  loop3               shm       tty35  ttyS1      v4l
cuse             loop4               snapshot  tty36  ttyS10     vcs
disk             loop5               snd       tty37  ttyS11     vcs1
dm-0             loop6               sr0       tty38  ttyS12     vcs2
dm-1             loop7               stderr    tty39  ttyS13     vcs3
dm-2             loop-control        stdin     tty4   ttyS14     vcs4
dm-3             mapper              stdout    tty40  ttyS15     vcs5
dri              mcelog              tty       tty41  ttyS16     vcs6
dvd              media0              tty0      tty42  ttyS17     vcsa
dvdrw            mem                 tty1      tty43  ttyS18     vcsa1
ecryptfs         memory_bandwidth    tty10     tty44  ttyS19     vcsa2
fb0              mmcblk0             tty11     tty45  ttyS2      vcsa3
fd               mmcblk0p1           tty12     tty46  ttyS20     vcsa4
full             mmcblk0p2           tty13     tty47  ttyS21     vcsa5
fuse             mqueue              tty14     tty48  ttyS22     vcsa6
fw0              net                 tty15     tty49  ttyS23     vfio
hidraw0          network_latency     tty16     tty5   ttyS24     vga_arbiter
hidraw1          network_throughput  tty17     tty50  ttyS25     vhci
hidraw2          null                tty18     tty51  ttyS26     vhost-net
hpet             port                tty19     tty52  ttyS27     video0
hugepages        ppp                 tty2      tty53  ttyS28     zero
hwrng            psaux               tty20     tty54  ttyS29
i2c-0            ptmx                tty21     tty55  ttyS3
i2c-1            pts                 tty22     tty56  ttyS30
i2c-2            random              tty23     tty57  ttyS31
i2c-3            rfkill              tty24     tty58  ttyS4

Ha, il y a aussi de l’i2c sur mon ordi…
(édits, j’essaye d’améliorer la présentation…)
PS: ce n’est pas la carte que j’utiliserais, celle-ci, c’est juste pour tester

Yo

Quand tu listes /dev, tu vois /mmcblk0
donc /dev/mmcblk0 est un chemin valide.

Mais « Etcher tu utiliseras, échec et déconvenues tu éviteras ». :wink:

Bonjour,

Cette syntaxe est la bonne.

:warning:
dd est une commande bas niveau, lorsqu’on la lance elle ne demande pas de confirmation et réalise une copie device to device (d’où son nom dd). Pour éviter toute déconvenue avec cette commande, il faut être très attentif à if (input file - source) et of (output file - destination)

Par précaution, saisir la commande et la relire 2 fois avant d’appuyer sur entrée !

Bonne installation
A+

Oui, echer est recommandé par raspberrypi.org et semble une option de sécurité (la procédure en ligne de commande est néanmoins encouragée et décrite par raspbian-france.fr)

Néanmoins, je vois plusieurs choses:
-j’avoue, le (petit) challenge de la ligne de code ne me déplaît pas.
-dans le pire des cas, j’ai sauvegardé toutes mes données ce dimanche et vérifié que mon CD Live Ubuntu (me permettant de ré-installer le système) était lisible.
-j’ai déjà formaté en ligne de code (Linux ou/et MS DOS) des disquettes, clefs USB sans avoir eu d’accident.
-dans l’optique de garder mon matériel longtemps: peut être que dans quelques années (5->10) avoir en main etcher + une version Linux et un PC compatibles sera une difficulté. Linux en ligne de commande, est à priori une solution plus « stable » sur le long terme. Si j’apprends aujourd’hui alors que je suis « dans le bain », avec « des copains » qui peuvent m’aider, alors je serais moins désemparé le jour où ma carte SD poussera son dernier soupir et qu’il faudra la remplacer.

Tu n’as pas tort :slight_smile:
La commande « dd » (et la ligne de commandes en général) a, en effet, un truc en plus ; ce petit goût de victoire.
Mais, pour les écritures courantes d’images, j’utilise Etcher (j’écris svt du Linux en général).

Je me sers de « dd » pour écraser les données des disques durs avant de les réutiliser (on me donne des trucs qui ont vécu)
dd if=/dev/urandom > gros-fichier-a-supprimer
puis
sudo rm gros-fichier-a-supprimer

Mais on sort du « parametrage en ssh rpi zero » :wink:

Bon, je pensait avoir pris le temps de bien préparer mon coup, mais ça coince quelque-part:
normalement, l’image est correctement crée, j’ai obtenu cette réponse

445+0 enregistrements lus
445+0 enregistrements écrits
1866465280 bytes (1,9 GB, 1,7 GiB) copied, 292,072 s, 6,4 MB/s

Le probléme, c’est que j’arrive pas à rentrer sur la bonne partition pour éditer les fichiers

j’ai aussi cette erreur en fenêtre Linux, pas dans le terminal:
Error mounting /dev/mmcblk0p1 at /media/alain/7D25-D825: Command-line `mount -t « vfat » -o « uhelper=udisks2,nodev,nosuid,uid=1000,gid=1000,shortname=mixed,utf8=1,showexec,flush » « /dev/mmcblk0p1 » « /media/alain/7D25-D825 »’ exited with non-zero exit status 32: mount: /dev/mmcblk0p1: can’t read superblock

Bonjour,

Après avoir inséré la carte SD sur un OS linux, passer la commande

fsck -y /dev/mmcblk0P1

Si besoin passer la commande lsblk avant pour valider le bon nom de la partition.

N.B. : Ceci est une tentative de dépannage, théoriquement après avec créé l’image avec dd elle devrait être propre.

A+