Den BeagleBone Black oder Raspberry Pi von einem Linux PC aus fernsteuern


Mit ssh (secure shell) kann man auf einem entfernten Rechner arbeiten. Das geht auch für X-Programme. Den Rechner, auf dem man arbeitet und mit dem man eine Verbindung aufbauen will, bezeichnet man als Client. Der entfernte Rechner, z.B. ein BeagelBone Black (BBB) oder ein Raspberry Pi (RPI), mit dem man sich verbinden will, wird als Server bezeichnet, weil auf dem BBB das Programm, das man ausführen will, serviert wird. Beide Rechner müssen im gleichen Netzwerk sein und entweder über Ethernet-Kabel oder über WLAN in Verbindung treten können. Hat man z.B. eine Fritzbox als Router und müssen Server und Client über Ethernet oder WLAN am Router angemeldet sein. Das funktioniert alles recht problemlos.

Sind Server und Client über WLAN am Netz, kann man in einem Browser (z.B. iceweasel) auf die lokale Webseite fritz.box gehen und schaut sich unter Funknetz die WLAN Teilnehmer an. Hier erfährt man in einer Liste nicht nur, welche Teilnehmer am WLAN teilnehmen, sondern auch welche IT-Adresse sie haben. Hier ist ein Auszug von meinem Router:



NameIP-AdresseMAC-AdresseDatenrate  
(Mbit/s)
Eigenschaften Kommentar
debianPC192.168.178.4300:87:C2:10:56:1310 / 58n / 20 MHz
WPA2
Client: von diesem Rechner will
ich den Server fernsteuern
beaglebone  192.168.178.72  80:1F:02:82:84:07  53 / 39 n / 20 MHz
WPA2
Server:dieser Rechner serviert
die Programme dem Client



Beispielsweise hat mein Rechner den Netzwerknamen "debianPC" mit der IP-Adresse 192.168.178.43. Der BBB hat den Netzwerknamen "beaglebone" mit der IP-Adresse 192.178.168.72. Auf dem deabianPC muss das Paket openssh-client installiert sein.Auf dem beaglebone muss openssh-server installiert sein.
Die ssh Verbindung nutzt den Port 22. Dieser darf nicht durch die Firewall nicht blockiert sein!
Will man das erste mal eine Verbindung zum BBB aufbauen, gibt man in einem Termin auf dem debainPC folgenden Befehl ein:


axel@debianPC:~$ ssh beaglebone



Hier ist axel@debianPC:~$ der Prompt des Client , hinter dem der Befehl ssh eingegeben wird. Wenn der Client „debianPC“ das erste mal eine Verbindung zum Server aufbaut, mit dem er noch nie verbunden war, erscheint die Meldung:

axel@debianPC:~$ ssh beaglebone
The authenticity of host 'beaglebone (192.168.178.72)' can't be established.
ECDSA key fingerprint is 99:35:f0:a7:90:e4:cb:e9:1d:d9:07:a6:b8:36:0f:ef.
Are you sure you want to continue connecting (yes/no)?


Diese Frage beantwortet man mit "yes". Dadurch wird der ECDSA fingerprint eingetragen. Das muss man nur einmal machen, solange sich die IP-Adresse des beaglebone nicht ändert. Jetzt kann man sich zum Beispiel als Benutzer root mit folgendem Befehl auf dem Server „beaglebone“ einloggen:


axel@debianPC:~$ ssh -X -l root beaglebone



Mit der Option -X zeigt man an, dass man auch grafische Programme auf dem Server „beaglebone“ starten möchte, und dann das X-Protokoll gleich mit übertragen werden soll. Mit der Option -l gibt man den user an (hier root), als der man auf dem Server beaglebone arbeiten möchte. Je nach dem, ob ein Passwort auf dem Server für diesen user vergeben wurde, wird man nach diesem gefragt. Sonst erscheint direkt die Meldung:

Debian GNU/Linux 7 BeagleBoard.org Debian Image 2015-03-01
Support/FAQ: http://elinux.org/Beagleboard:BeagleBoneBlack_Debian
default username:password is [debian:temppwd]

Im Terminal des Client „debianPC“ erscheint nun auf der Shell der Prompt root@beaglebone:/# , an dem man erkennt, dass man jetzt auf dem Server „beaglebone“ arbeitet. Zum Testen der Verbindung kann man beispielsweise folgenden Befehl eingeben:


root@beaglebone:/# uname -a



Es erscheint die Meldung:

Linux beaglebone 3.8.13-bone70 #1 SMP Fri Jan 23 02:15:42 UTC 2015 armv7l GNU/Linux

Um die X-Protokoll Übertragung zu testen, kann man das Dateimanager-Programm "PCManFM" auf dem BBB mit folgendem Befehl aufrufen:


root@beaglebone:/# pcmanfm



Jetzt öffnet sich auf dem Client „debianPC“ ein Fenster, in dem der Dateimanager "pcmanfm" vom Server „beaglebone“ läuft.

Mit dem Befehl:


root@beaglebone:/# exit



loggt man sich wieder auf dem Server „beaglebone“ aus und ist wieder auf dem Client „debianPC“.


zur Hauptseite



copyright: Axel Hülsmann
Stand 18.01.2018