$ ssh-copy-id [email protected]
Listing 4
$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/home/fedora/.ssh/id_rsa): [Eingabe] Created directory '/home/fedora/.ssh'. Enter passphrase (empty for no passphrase): Meine_Neue_Passphrase Enter same passphrase again: Meine_Neue_Passphrase Your identification has been saved in /home/fedora/.ssh/id_rsa. Your public key has been saved in /home/fedora/.ssh/id_rsa.pub. The key fingerprint is: 3f:9e:8d:65:1b:0f:45:f7:22:a7:69:b3:c4:4d:8d:de [email protected] The key's randomart image is: +--[ RSA 2048]----+ | | | | | . .| | . +.| | S . * o| | . . X o | | o % o E| | . X B | | + + . | +-----------------+
Anschließend melden Sie sich per SSH auf dem RasPi an – diesmal blitzschnell und ohne Angabe eines Passworts – und prüfen, ob in der Datei ~/.ssh/authorized_keys nicht etwa außer dem neu generierten Key auch andere, so nicht beabsichtigte Schlüssel lagern.
Um auch anderen Benutzer diese Art der komfortablen SSH-Anmeldung zu ermöglichen, müssen Sie für diese gesondert eigene Schlüsselpaare erstellen.
Dateien übertragen
Das OpenSSH-Paket bringt auch zwei von Werkzeuge mit, um Dateien sicher auf den Raspberry Pi zu übertragen: scp (“secure copy”) und sftp (“secure file transfer protocol”). Während Scp sich vornehmlich dazu eignet, ad hoc eine kleinere Anzahl von Dateien zu transferieren, öffnet Sftp eine dauerhafte Verbindung, über die Sie eine ganze Reihe von Interaktionen vornehmen können.
Um Scp zu nutzen, müssen Sie sich nicht erst per SSH am RasPi anmelden. Die grundlegende Syntax des Kommandos folgt folgendem Schema:
$ scp Datei user@IP:/Pfad/zum/Ziel/
Möchten Sie etwa in unserer Beispielinstallation die Datei raspi.html aus dem aktuellen Verzeichnis in das Webserver-Verzeichnis auf dem RasPi übertragen, verwenden Sie dazu den folgenden Befehl:
$ scp opensource.odt [email protected]:/var/www/html/
Sie können auf diesem Weg auch komplette Verzeichnisse (in folgenden Beispiel den Ordner foss/) mitsamt Inhalt auf den RasPi kopieren. Dazu ergänzen Sie den Scp-Befehl um die Option -r für das rekursive Durchlaufen der Quelle:
$ scp foss [email protected]:.
Hier steht anstelle der Angabe eines Verzeichnisses als Ziel lediglich ein Punkt. Das sorgt dafür, dass foss/ und seine Inhalte im Home-Verzeichnis des Benutzers fedora landen.
Bei Sftp handelt es sich um eine via SSH-Protokoll laufende sichere Version des klassischen FTP. Hier verbinden Sie sich wie von SSH selbst gewohnt, nur dass Sie als Kommando statt ssh diesmal sftp verwenden:
$ sftp [email protected]
Dies öffnet eine SFTP-Sitzung, in der Sie eine Vielzahl von Befehlen nutzen können. Beispiele für die gängigsten davon zeigt das Listing 5, das (kommentiert) den Ablauf einer kompletten Session darstellt.
Listing 5
$ sftp [email protected] # via SFTP mit dem Raspberry verbinden [email protected]'s password: Passwort Connected to 192.168.0.115 sftp> pwd # aktuelles entferntes Verzeichnis Remote working directory: /home/fedora sftp> lpwd # aktuelles lokales Verzeichnis Local working directory: /home/rsuehle sftp> ls # Inhalt des entfernten Verzeichnisses Desktop Docs Downloads Music Pics Public sftp> cd Docs # entferntes Verzeichnis wechseln sftp> lls # Inhalt des lokalen Verzeichnisses fedora.png sftp> put fedora.png # kopiert Datei ins entfernte Verzeichnis Uploading fedora.png to /home/fedora/Docs/fedora.png fedora.png 100% 556KB 556.1KB/s 00:01 sftp> get opensource.odt # kopiert Datei aus dem entfernten Verzeichnis Fetching /home/fedora/Docs/opensource.odt to opensource.odt /home/fedora/Docs/opensource.odt 100% 556KB 556.1KB/s 00:00 sftp> lls # Inhalt des lokalen Verzeichnisses fedora.png opensource.odt sftp> exit # SFTP-Sitzung beenden
Grafische Programme
Benutzen Sie die grafische Oberfläche eines Linux-Rechners, dann erfolgen alle Interaktionen über das X Window System, kurz auch gern schlicht als X bezeichnet. Um via SSH eine grafische Anwendung starten zu können, müssen Sie dem Anmeldebefehl den Parameter -X hinzufügen. Er aktiviert das sogenannte X-Forwarding:
$ ssh -X [email protected]
Das klappt jedoch nur, sofern in der bereits erwähnten SSH-Konfigurationsdatei /etc/ssh/sshd_config die Einstellung X11Forwarding auf yes gesetzt ist (Abbildung 2). Dies voraus gesetzt, können Sie nach der Anmeldung auch grafische Programme auf dem Raspberry Pi aus der Ferne nutzen. Um etwa den schlanken Webbrowser Midori zu starten, den die meisten RasPi-Distributionen bereits vorinstallieren, tippen Sie auf der Kommandozeile einfach midori ein (Abbildung 3).

Abbildung 2: Um grafische Programme via SSH betreiben zu können, müssen Sie in »/etc/ssh/sshd_config« die Einstellung »X11Forwarding« auf »yes« setzen.

Abbildung 3: Ob das Aufrufen grafischer Programme via SSH klappt, testen Sie am einfachsten durch einen Aufruf des Webbrowsers Midori.
Fazit
Mit den hier vorgestellten Werkzeugen aus der SSH-Familie verwalten Sie Ihren Raspberry Pi problemlos aus der Ferne und ersparen sich dadurch die Anschaffung eines zusätzlichen Monitors und einer Tastatur. Der Konfigurationsaufwand für eine solche Headless-Lösung hält sich in erfreulich überschaubaren Grenzen.





