So konfigurieren Sie Ihr Raspberry Pi für Remote Shell, Desktop und Dateiübertragung
Sie haben also einen Raspberry Pi und möchten den winzigen Fußabdruck maximieren, indem Sie sich in eine völlig eigenständige Box ohne Monitor, Tastatur oder andere Eingabegeräte verwandeln. Lesen Sie weiter, um zu erfahren, wie Sie den Remote-Zugriff auf Shell, Desktop und Dateiübertragung auf Ihrem Pi einrichten.
Warum möchte ich das tun??
Der Pi, selbst in einem robusten Gehäuse, ist ein winziger Computer. Es ist perfekt, um sich irgendwo außerhalb des Sichtfelds zu verstecken, ohne dass ein Draht von Kabeln davon absteht. Für viele Projekte benötigen Sie einfach keinen permanenten Monitor und keine Begleitung.
Das tut nicht bedeutet jedoch, dass Sie keine Verbindung zur Box herstellen müssen, um Änderungen vorzunehmen, Dinge zu aktualisieren, Dateien zu übertragen und so weiter. Ein perfektes Beispiel dafür ist der coole, kleine Regenindikator, den wir als Teil unseres Artikels "Bauen Sie eine LED-Anzeige mit einem Raspberry Pi" (für E-Mail, Wetter oder irgendetwas) erstellt haben. Es braucht nicht all das, was direkt an ihm angebracht ist, aber wir möchten trotzdem gerne auf das Gerät springen und einfach Änderungen vornehmen oder neue Experimente mit dem LED-Modul ausprobieren, ohne es in die Werkstatt ziehen zu müssen Verbinden Sie es mit einem Monitor, einer Tastatur, einer Maus usw. Wenn Sie es für Remote Shell, Remote Desktop und Remote File Transfer konfigurieren, ist es äußerst einfach, mit unserer Pi-Einheit immer von unserem Desktop-Computer aus zu interagieren, als würden wir es tun habe das Gerät an eine volle Arbeitsstation angeschlossen.
Was brauche ich?
Wenn Sie mit dem Raspberry Pi noch nicht vertraut sind, empfehlen wir Ihnen dringend, den HTG-Leitfaden für den Einstieg mit Raspberry Pi zu lesen, um sich mit den Grundlagen des Geräts vertraut zu machen und sich auf den neuesten Stand zu bringen.
Für dieses Tutorial benötigen Sie Folgendes:
- Ein Himbeer-Pi mit Raspbian.
- Ein Desktop- oder Laptop-Computer.
- Ein lokales Wi-Fi oder kabelgebundenes Netzwerk, um den Pi und Ihren Computer zu verbinden.
Erstens sollten die meisten Schritte in diesem Lernprogramm mit anderen Linux-basierten Pi-Distributionen funktionieren aber Wir werden Raspbian verwenden. Sie sollten Schwierigkeiten haben, das Lernprogramm an andere Distributionen anzupassen.
Zweitens verwenden wir einen Windows-Computer als vernetzten Computer, um mit der Raspberry Pi-Einheit als Remote-Kopf / Schnittstelle zu interagieren. Wenn es angebracht ist, werden wir unser Bestes tun, um auf Tutorials und Vorschläge zum Durchführen paralleler Aufgaben und Tools unter OS X und Linux zuzugreifen.
Einrichten und Verbinden mit dem SSH-Server
Der Fernzugriff auf die Raspbian-Installation über die Befehlszeile ist die einfachste Änderung, die Sie an Ihrem System vornehmen können, und es ist einfach zu aktivieren.
Öffnen Sie das Terminal in Rasbian. Die Verknüpfung lautet LXTerminal auf dem Desktop. Geben Sie den folgenden Befehl ein:
sudo raspi-config
Navigieren Sie nach unten zu ssh und drücken Sie die Eingabetaste. Wenn Sie nach dem SSH-Server gefragt werden, wählen Sie Aktivieren und drücken Sie erneut die Eingabetaste. Sie kehren zum Raspi-config-Panel zurück. nach unten navigieren Fertig und drücken Sie die Eingabetaste, um das Konfigurationstool zu schließen. Das ist alles, was Sie tun müssen, um den SSH-Zugriff auf Ihren Pi zu aktivieren. Der Standard-SSH-Benutzername und das Kennwort lautet Pi und Himbeere, beziehungsweise.
Wenn Sie sich noch an der Befehlszeile befinden, sollten Sie jetzt die IP-Adresse Ihrer Raspberry Pi-Einheit im lokalen Netzwerk überprüfen. Art ifconfig an der Eingabeaufforderung und schauen Sie sich die Ausgabe des Befehls an. Wenn Sie den Ethernet-Anschluss verwenden, möchten Sie nach dem suchen Init Adr in dem eth0 Sektion; Wenn Sie WLAN verwenden, möchten Sie nach dem Internetanschluss suchen Init Adr in dem wlan0 Sektion. Neben dem Überprüfen und Notieren der IP-Adresse ist dies auch eine gute Gelegenheit, um einen statischen IP-Eintrag in Ihrem Router einzurichten, damit Sie in Zukunft keine IP-Adresse suchen müssen.
Nachdem wir den SSH-Server aktiviert haben, kennen wir die Anmeldung und die IP-Adresse des Computers. Es ist Zeit, sich über SSH einzuloggen und es auszuprobieren. Dazu können Sie unter Linux und OS X einfach die ssh Befehl am Terminal. Windows-Benutzer benötigen jedoch einen SSH-Client wie PuTTY.
Da wir eine Windows-Box zur Fernverwaltung unseres Pi verwenden, ist dies PuTTY. Installieren Sie eine Kopie von PuTTY oder extrahieren Sie die portable Version und starten Sie sie. Es gibt viel von Einstellungen, mit denen Sie sich in PuTTY herumschlagen können, aber wir müssen uns nur um eine Sache kümmern, um eine Verbindung zu unserem Pi herzustellen. Geben Sie auf der Hauptsitzungsoberfläche einfach die IP-Adresse Ihres Pi ein und wählen Sie SSH darunter:
Schlagen Öffnen Am unteren Ende öffnet PuTTY ein Terminalfenster für Sie, stellt eine Verbindung zu Ihrem Pi her und fordert Sie auf, sich anzumelden. Fahren Sie fort und melden Sie sich mit an Pi / Himbeere:
Sobald Ihre SSH-Verbindung funktionsfähig ist, können Sie den Rest dieses Tutorials technisch bequem von Ihrem Schreibtisch aus erledigen. Wir empfehlen jedoch, Kopf und Tastatur auf Ihrem System zu belassen, bis Sie das gesamte Projekt abgeschlossen haben und alles reibungslos läuft.
Bevor wir fortfahren, gibt es einige zusätzliche Funktionen, die wir aus SSH herausholen können. Neben der Remote-Verwaltung der Befehlszeile können Sie Dateien auch mit Secure Copy aus der Ferne übertragen. Die Befehlszeile ist intensiv und für die Übertragung einer großen Anzahl von Dateien, die aus mehreren Verzeichnissen stammen, nicht besonders praktisch. Für eine einmalige Übertragung von Konfigurationsdateien oder einen anderen kleinen Speicherauszug ist dies jedoch praktisch. Lesen Sie hier unsere Anleitung zum Kopieren von Dateien über SSH mit dem SCP-Befehl.
Wir werden uns später in diesem Tutorial mit benutzerfreundlicheren / GUI-basierten Dateitransfertechniken auseinandersetzen.
Einrichten und Konfigurieren Ihres Remote-Desktops
Der Fernzugriff über die Befehlszeile ist großartig, aber auch der Zugriff auf den Desktop für GUI-Aktivitäten. Lassen Sie uns die Kräfte der Befehlszeile und die Kräfte des Desktops zusammenführen.
Obwohl wir es bis jetzt als "Remote-Desktop" bezeichnet haben, ist das Tool, das wir tatsächlich installieren, als Virtual Network Computing (VNC) -Literationen bekannt, mit denen viele wie RealVNC und TightVNC vertraut sind. Für dieses Tutorial installieren wir TightVNC auf dem Pi. Um auf die Pi-basierte TightVNC-Sitzung zugreifen zu können, benötigen Sie einen Remote-Client wie:
- TightVNC-Desktop-Client für Windows
- TightVNC-Desktop-Client für Linux / Unix-ähnliche Systeme
- RealVNC-Desktop-Client für OSX
Besorgen Sie sich jetzt eine Kopie, und wir werden es später in diesem Abschnitt herausarbeiten. Lassen Sie uns zunächst den TightVNC-Server auf Ihrem Raspberry Pi installieren. Öffnen Sie das Terminal. Geben Sie den folgenden Befehl ein, um zu beginnen:
sudo apt-get install tightvncserver
Dadurch werden die Installationsdateien heruntergeladen und entpackt. Wenn Sie gefragt werden, ob Sie fortfahren möchten, drücken Sie Y. Nach Abschluss der Installation kehren Sie zur Aufforderung zurück. Sie können den VNC auf zwei Arten starten. Führen Sie einfach den Befehl für den Server wie folgt aus:
tightvncserver
Sie werden aufgefordert, ein Kennwort einzugeben, um auf Ihren VNC-Desktop zuzugreifen (siehe Abbildung oben). Das Passwort muss 4 bis 8 Zeichen lang sein. Nachdem Sie das Passwort bestätigt haben, werden Sie aufgefordert, ein Nur-Ansicht-Passwort festzulegen (Sie können den Schritt wie zuvor deaktivieren)..
Alternativ können Sie einen viel präziseren, wenn auch längeren, Befehl eingeben, mit dem Sie mehr Kontrolle darüber haben, wie der Remote-Computer den Desktop sieht. Am wichtigsten ist jedoch, mit welcher Auflösung der Desktop angezeigt wird, sodass Sie eine Vollbildansicht genießen können der entfernte Computer. Verwenden Sie zum Festlegen der Auflösung des VNC-Desktops den folgenden Befehl, indem Sie den Auflösungswert (das vierte Element im Befehl) für die Auflösung des Remote-Desktops auslagern:
vncserver: 1-geometrie 1600 × 900 -tief 16 -pixelformat rgb565:
Wenn Sie bei der Einrichtung Ihrer VNC-Serverinstanz zu irgendeinem Zeitpunkt einen Fehler machen und / oder den VNC-Server herunterfahren möchten, geben Sie einfach Folgendes ein (ändern Sie die Zahl hinter dem Doppelpunkt in die Nummer der VNC-Instanz, die Sie beenden möchten) :
vncserver -kill: 1
Nun, da wir den VNC-Server in Betrieb haben, verbinden wir uns von unserem Remote-Desktop aus. Starten Sie den TightVNC-Viewer auf Ihrem Computer und geben Sie die IP-Adresse der Raspberry Pi-Einheit ein, gefolgt von: 1 wie folgt:
Und hier ist unsere Belohnung für die erfolgreiche Konfiguration unseres VNC-Servers - eine schöne Vollbildansicht unserer Remote-Raspberry Pi-Einheit:
Es gibt ein bekanntes Problem mit TightVNC und Rasbian, das dank einer unzulänglichen Berechtigungsänderung zu Problemen mit dem eigentlichen Monitor-angehängten Desktop führt (während die vom VNC-Server bereitgestellte Remote-Desktop-Schnittstelle unangetastet bleibt). Um dieses Problem zu beheben, bevor es für Sie sogar zu einem Problem wird, gehen Sie direkt zur Befehlszeile und geben Sie den folgenden Befehl ein:
sudo chown pi /home/pi/.Xauthority
Dieser Befehl ändert den Besitz der .Xauthority-Datei wieder an den Benutzer pi. Für die Neugierigen wird die .Xauthority-Datei vom X-Windows-System in Rasbian und verwendet etwas Während des Installations- und Konfigurationsprozesses des TightVNC-Servers treten nur wenige Berechtigungen auf.
Mit diesem kleinen Umweg machen wir uns wieder an die Konfiguration unserer Remote-Desktops.
Jetzt, da wir über eine vollständige Befehlszeile und einen Desktop-Zugriff auf den Raspberry Pi verfügen, gibt es eine nicht ganz so triviale Änderung, die wir vornehmen müssen. Das Raspi-config-Tool hat den SSH-Server so eingestellt, dass er beim Booten für uns automatisch startet. Der VNC-Server ist jedoch noch nicht auf diese Weise konfiguriert. Sie können diesen Schritt überspringen und den Server bei Bedarf manuell über die Befehlszeile über SSH starten. Wir versuchen jedoch, dies für die zukünftige Verwendung so unkompliziert wie möglich zu gestalten. Nehmen wir uns jetzt eine Minute und erstellen eine Startdatei für den VNC-Server.
Um den VNC-Server automatisch zu starten, müssen Sie eine Init- oder Initialisierungsdatei einrichten, die Raspbian zum sauberen Starten und Herunterfahren des Servers während des Startvorgangs verwendet. Lassen Sie uns jetzt die Init-Datei erstellen. Geben Sie an der Befehlszeile den folgenden Befehl ein:
sudo nano /etc/init.d/tightvnc
Dadurch wird im Initialisierungsverzeichnis eine Datei mit dem Namen „tightvnc“ erstellt und der Nano-Editor geöffnet, damit wir unser Skript einfügen können. Fügen Sie im Nano-Editor den folgenden Code ein (stellen Sie sicher, dass der Wert für die Auflösung 1600 × 900 dem Bildschirm Ihres Remote-Computers entspricht):
#! / bin / sh
### BEGIN INIT INFO
# Bietet: tightvncserver
# Erforderlicher Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Kurzbeschreibung: Starten Sie den VNC-Server
# Beschreibung:
INDE INDEFall "$ 1" in
Start)
su pi -c 'vncserver: 1 - Geometrie 1600 × 900 - Tiefe 16 - Pixelformat rgb565:'
Echo “VNC gestartet”
;;
halt)
pkill Xtightvnc
Echo "VNC beendet"
;;
*)
echo "Verwendung: /etc/init.d/tightvnc start | stop"
Ausfahrt 1
;;
esac
Neben dem Ändern des Bildschirmauflösungsabschnitts des Skripts können Sie noch eine weitere Änderung vornehmen. In Zeile 14 können Sie den Befehl „su pi -c“ in ein anderes Benutzerkonto außer „pi“ umwandeln, wenn Sie VNC auf den spezifischen Desktop für dieses Konto setzen möchten.
Nachdem Sie den Code eingefügt und geändert haben, können Sie ihn speichern. Drücken Sie STRG + X, um Ihre Arbeit in Nano zu beenden und zu speichern. Sobald Sie wieder in der Befehlszeile sind, müssen wir einige kurze Änderungen an den Berechtigungen der Datei vornehmen:
sudo chmod 755 /etc/init.d/tightvnc
Nun ist die Initialisierungsdatei ausführbar. Wir können es an der Eingabeaufforderung testen:
Sudo /etc/init.d/tightvnc start
Sudo /etc/init.d/tightvnc stop
Die letzte Änderung, die wir vornehmen werden, ist das Aktualisieren der rc.d-Datei (welche Spuren welche Initialisierungsskripts im Ordner /init.d/ enthalten):
sudo update-rc.d tightvnc-Standardeinstellungen
Nachdem Sie diesen Befehl eingegeben haben, erhalten Sie eine Bestätigung, dass die Datei aktualisiert wurde. Jetzt ist es Zeit für den echten Test: Lädt die Datei nach dem Neustart ordnungsgemäß? Geben Sie in der Befehlszeile Folgendes ein, um einen Neustart durchzuführen, und bereiten Sie sich mit Ihrem VNC-Client vor, um die Verbindung sofort zu testen:
Sudo Neustart
Melden Sie sich nach dem Neustart des Systems bei Ihrem VNC-Client an. Wenn Ihre VNC-Sitzung fehlschlägt, rufen Sie die Eingabeaufforderung auf, und führen Sie den Befehl tightvnc start (vom Testabschnitt oben) erneut aus, um zu überprüfen, ob die Datei ausführbar ist und das Kennwort ordnungsgemäß gespeichert wurde.
Zu diesem Zeitpunkt sind wir noch weiter in unserer Mission, unsere Raspberry Pi-Einheit vollständig fernzusteuern. Mit dem Fernsteuerungszugriff über die Befehlszeile über SSH und dem Fernzugriff auf den Desktop über VNC unter unseren Gürteln vereinfachen wir das Übertragen von Dateien zwischen unserem Pi und dem Desktopcomputer.
Einrichten und Konfigurieren von File Transfer Tools
Da wir bereits SSH eingerichtet haben, ist der einfachste Weg, die unkomplizierte Dateiübertragung zwischen unserem Pi und Remote-Computern einzurichten, die Verwendung einer GUI-Schnittstelle für die SSH-Verbindung. Erinnern Sie sich, wie wir früher im Tutorial über die Verwendung von SCP über SSH gesprochen haben? Wenn Sie es von der Kommandozeile aus ausführen, wird es sehr langwierig und sehr schnell. Mit einem GUI-Wrapper können wir mehr Zeit für das Verschieben von Dateien und das Spielen mit unserem Pi aufwenden und brauchen weniger Zeit, um auf der Tastatur zu picken.
Zwar gibt es eine Vielzahl von GUI-Wrappern für den SCP-Befehl, aber wir werden ein plattformübergreifendes Tool verwenden, das viele Leute bereits kennen, haben und lieben (und vielleicht sogar nicht wissen, dass es SCP-Transfers durchführt): FileZilla. Es ist für Windows, OS X und Linux verfügbar. Sie können sich hier eine Kopie holen.
Wenn Sie FileZilla installiert haben, starten Sie es und gehen Sie zu Datei -> Site Manager. Erstellen Sie einen neuen Site-Eintrag, benennen Sie ihn und fügen Sie den Benutzernamen und das Kennwort für Ihr Pi ein.
Stellen Sie schließlich sicher, dass Sie den Port auf 22 und den Servertype auf SFTP-SSH File Transfer Protocol setzen. Klicken Sie unten auf Verbinden, um eine ähnliche Ansicht zu erhalten:
Ihre lokalen Verzeichnisse befinden sich im linken Fensterbereich und die entfernten Verzeichnisse auf dem Pi befinden sich im rechten Fensterbereich. Das Verschieben von Dateien zwischen den beiden Dateien ist so einfach wie das Ziehen und Ablegen.
Die Nutzung der vorhandenen SSH-Dateiübertragung ist der einfachste Weg, um auf die Dateien auf dem Pi zuzugreifen, ohne dass eine zusätzliche Konfiguration erforderlich ist aber Wenn Sie Ihren Pi so konfigurieren möchten, dass er Dateien empfängt und freigibt, ohne dass der Remote-Benutzer ausgefallene Tools (wie einen SCP-fähigen FTP-Client wie FileZilla) benötigt, sollten Sie den Samba-Konfigurationsabschnitt unseres Leitfadens lesen: How to Turn Raspberry Pi in ein Low-Power-Netzwerkspeichergerät. Wenn Sie sich darüber informieren, werden Sie mit dem Einrichten einer einfachen Samba-Freigabe auf dem Pi vertraut gemacht, um einen freigegebenen Ordner zu erstellen, auf den nahezu jeder Benutzer in Ihrem Netzwerk ohne zusätzliche Tools zugreifen kann.
Sie haben SSH konfiguriert, VNC konfiguriert und einfachen SFTP- und / oder Samba-Zugriff auf Ihren Pi eingerichtet. An diesem Punkt können Sie Ihr Raspberry Pi herunterfahren, den Monitor, die Tastatur und die Maus entfernen. und verstauen Sie es als stille und kopflose Maschine.
Hast du eine Idee für das Raspberry Pi-Projekt und du würdest für uns ein Tutorial dafür schreiben? Schauen Sie sich die Kommentare an oder schreiben Sie uns eine E-Mail an [email protected]. Wir werden unser Bestes tun, um Ihnen zu helfen.