Dienstag, 14. Mai 2013

SSH/Mosh verwenden und xRDP installieren

Da mein Pi ohne einen angeschlossenen Monitor und Tastatur betrieben wird, muss eine Möglichkeit geschaffen werden um mit einem weiteren Computer/Smartphone/Tablet etc. auf den Raspi zuzugreifen und ggf. die grafische Oberfläche an einem anderen Bildschirm darzustellen. Für ersteres wird in der Regel das verschlüsselte SSH-Protokoll verwendet. Wichtig hierfür ist, dass die IP-Adresse des Pi's im eigenen Netzwerk bekannt ist. Um eine statische, immer gleich bleibende IP zu erhalten, kann mein vorheriger Post  durchexerziert werden.


SSH

Um SSH verwenden zu können, benötigen wir entsprechende Software:
  • Windows: Putty
  • Mac: Kann bereits SSH über die Terminal-App
  • Linux: Kann bereits SSH über die Terminal-App
  • AndroidConnect Bot (ich empfehle jedoch diese Version von Irssi Connect Bot, da diese ein weiteres Protokoll namens Mosh beherrscht, das grundsätzlich wie SSH funktioniert aber ein paar Vorteile bietet auf die später kurz eingegangen wird.)
In die entsprechende Anwendung wird nun folgendes getippt:
ssh pi@IP-Adresse
Da zu diesem Zeitpunkt keine vorherige Verbindung zwischen dem benutzten Computerund dem Pi bestand wird gefragt, ob ein individueller Schlüssel ausgetauscht werden soll. Dies wird mit Yes bestätigt.


Mosh

Mosh funktioniert grundsätzlich genau wie SSH und verbindet sich auch über den gleichen Port (Standartmäßig 22). Genau wie bei SSH erstellt man über die Kommandozeile eine sichere Verbindung zum Pi her:
mosh pi@IP-Adresse

Vorher muss auf dem Raspberry Pi jedoch noch das entsprechende Paket installiert werden:
sudo apt-get install mosh

Der größte Vorteil von Mosh gegenüber SSH ist, dass beim Verlust der Verbindung zum Pi keine erneute Verbindung hergestellt werden muss. Mosh wartet einfach, bis die Daten wieder strömen. Ich habe meinen Pi am Internet und verwalte ihn des öfteren über mein Nexus 7 und dem oben angesprochenen Irssi Connect Bot. Da dort keine stetiges Handynetz vorhanden ist, ist SSH dort mühsam und nervraubend. Mosh hingegen hat immer eine Verbindung. Zusätzlcih kann Mosh auch beim Wechsel der Internetverbindung - bspw. von 3G auf W-Lan - die Verbindung aufrech erhalten.

Mit SSH und Mosh ist nun also die Möglichkeit gegeben den Pi über einen anderen Computer zu verwalten - jedoch ohne grafische Oberfläche. Alle nötigen Schritte zur Einrichtung eines entfernten Bildschirms werden im nachfolgenden Text beschrieben.



Entfernten Bildschirm einrichten / Remote Desktop

Die meisten Tutorials empfehlen die Benutzung eines VNC-Servers (bspw. TightVNC). Dieser muss jedoch manuell gestartet und beendet werden, was mir zu mühsam erschien. Daher habe ich folgende Alternative im Einsatz, die sich als sehr zuverlässig erwiesen hat. Zur Anwendung kommt das Paket xrdp das eine RDP-Verbindung herstellt. RDP startet sich automartisch, sobald die zugehörige Software auf dem Handy, PC, o.Ä. versucht einen Verbindung herzustellen und beendet sich automatisch sobald man sich über die GUI des Pi's auslaggt.

Das benötigte Paket wird auf dem Raspi installiert:
sudo apt-get install xrdp

Wie schon bei der verwendung von SSH benötigt man auch in diesem Fall entsprechende Software:

Auch hier gilt es, den Benutzernamen (pi), sowie das zugehörige Passwort und die IP-Adresse anzugeben. Nun habt ihr die grafische Oberfläsche des Raspberry Pi's direkt auf einem anderen Bildschirm. Dies ist äußerst praktisch, da einige Aktionen über die GUI deutlich schneller zu erledigen sind, als über die Kommandozeile.


2 Kommentare :

  1. Ein Tipp für Mosh support auf Android.
    Probier mal JuiceSSH aus. Manche extras brauchen einen inapp Purchase aber sonst, kann man es mit Mosh nutzen.

    AntwortenLöschen
    Antworten
    1. Hallo Paul. Danke für deine Anregung. Ich habe JuiceSSH selber einmal getestet und bin letzten Endes wieder zu Connect Bot zurück gekehrt. Der Preis von 5€ ist in meinen Augen eindeutig zu hoch und einen signifikant größeren Funktionsumfang konnte ich auch nicht ausmachen. Zudem gefällt mir der Open-Source-Gedanke hinter ConnectBot.

      Löschen