Benutzer-Werkzeuge

Webseiten-Werkzeuge


ssh

SSH

Bei SSH handelt es sich um eine in den letzten Jahren zunehmend verwendete Möglichkeit zum Aufbau einer sicheren und verschlüsselten Verbindung auf Kommandozeilenebene mit einem entfernen Rechner.

Von Haus aus ist der Hifidelio leider nur mit dem Telnet-Protokoll ausgestattet, was in einem modernen Netzwerk so gut wie nicht mehr verwendet wird. Neben der Verschlüsselung bietet SSH vor allem den Vorteil, daß nach entsprechender Konfiguration ein Anmelden ohne Paßworteingabe möglich ist.

Über SSH und seine Arbeitsweise, den Vor- und Nachteilen bestimmter Nutzungsmöglichkeiten und der Konfiguration gibt es bereits genügend Informationen. Diese Beschreibung soll deshalb keine umfassende Referenz darstellen, sondern nur als Hilfestellung bei der Erstinstallation dienen.

Installation

Ein fertiges Tar-File ist im Forum unter Downloads hinterlegt. Dieses kopiert man einfach auf dem üblichen Weg in den Import-Ordner und meldet sich dann (noch ein letztes Mal) per Telnet auf dem Hifidelio an. Das Paket wird dann mit dem Kommando

root@hifideliopro:~# tar -x -z -f /audio/import/openssh-3.1p1-2.tar.gz -C /

installiert. Als ersten Test kann man nun den Server auf dem Hifidelio probeweise starten:

root@hifideliopro:~# /etc/rc.d/init.d/sshd start
Generating SSH1 RSA host key:                              [  OK  ]
Generating SSH2 RSA host key:                              [  OK  ]
Generating SSH2 DSA host key:                              [  OK  ]
Starting sshd:                                             [  OK  ]

Das erste Starten dauert ein paar Sekunden, da noch kryptografische Schlüssel erzeugt werden müssen. Danach sollte der Hifidelio von außen über ssh erreichbar sein. Beim ersten Anmelden kommt ggfs. noch eine Sicherheitsabfrage, ob die Verbindung mit dem unbekannten System akzeptiert werden soll. Der Client speichert dann einen Teil des kryptographischen Schlüssels von diesem Systems ab und kann so auch später sicherstellen, daß beim Verbindungsaufbau wirklich der erwartete Rechner angesprochen wird.

$ ssh root@hifideliopro
The authenticity of host 'hifideliopro (192.168.1.41)' can't be established.
DSA key fingerprint is c0:78:8d:7c:42:74:c9:0c:0d:d8:0f:b3:c4:c3:69:a4.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'hifideliopro' (DSA) to the list of known hosts.
root@hifideliopro:~#

Bei meiner lokalen Installation gab es mit diesem Kommando zunächst nur die Fehlermeldeung Disconnecting: Corrupted MAC on input, da die SSH-Versionen zwischen FreeBSD und dem Hifidelio sich offenbar nicht auf einen gemeinsamen Message Authentication Code (MAC) einigen konnten. Dies ließ sich durch die Vorgabe mit einen Kommandozeilenparameter beheben:

$ ssh -m hmac-sha1-96 root@hifideliopro

Anwendungen

Anmelden ohne Paßwort

Für die Anmeldung ohne eine Paßwortabfrage muß man sich einen kryptographischen Schlüssel erzeugen und die eine Hälfte davon auf dem Hifidelio hinterlegen. Dazu nutzt man ssh-keygen und gibt bei der Frage nach der Passphrase nichts ein sondern drückt nur Return:

$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/user/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/user/.ssh/id_rsa.
Your public key has been saved in /home/user/.ssh/id_rsa.pub.
The key fingerprint is: 01:ba:ae:69:16:32:89:b4:da:f5:da:53:af:2b:34:e9

Der öffentliche Schlüssel muß dann auf den Hifidelio übertragen werden:

$ scp /home/user/.ssh/id_rsa.pub root@hifideliopro:
root@hifideliopro's password:
id_rsa.pub                                    100% 7636     7.5KB/s   00:00
$ ssh root@hifideliopro
root@hifideliopro's password:
root@hifideliopro:~# mkdir -m 700 .ssh
root@hifideliopro:~# mv id_rsa.pub .ssh/authorized_keys

Danach sollte das Anmelden ohne weitere Paßwortabfrage möglich sein.

Datenübertragung mit SFTP

Neben scp als Kopierkommando bringt SSH auch sftp als sichere FTP-Alternative mit. Nach der Einrichtung des Zugriffes ohne Paßwort wie im letzten Abschnitt beschrieben ist auch hier die Datenübertragung ohne lästige Paßwortabfrage möglich. Mit Filezilla bzw. WinSCP gibt es auch graphische Bedienoberflächen für dieses Protokoll. Sollte im jeweiligen Programm das Protokoll SFTP nicht namentlich ausgewählt werden können, so ist die Portnummer 22 einzutragen.

Ansprechen der Hifidelio XML-Schnittstelle von außen

SSH unterstützt auch eine Verbindungsweiterleitung (Port Forwarding). Dies kann hier genutzt werden, um die eigentlich nur auf dem Gerät ansprechbare XML-Schnittstelle zwischen Veronica/Leonore und der Hifidelio-Software auch von außen zu nutzen.

Dazu meldet man sich mit folgendem Kommando am Hifidelio an:

$ ssh -L 55555:localhost:50000 root@hifideliopro

Solange nun diese Verbindung besteht, ist auch eine zusätzliche Weiterleitung zwischen dem Port 55555 auf dem lokalen Rechner und dem Port der XML-Schnittstelle auf dem Hifidelio eingerichtet. So läßt sich vom Arbeitsplatz-PC eine Verbindung an die XML-Schnittstelle nutzen:

$ telnet localhost 55555
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
<GetPlaylists />

Darauf kommt vom Hifidelio die folgende Ausgabe zurück:

<Playlists>
<Playlist id="1" name="Library" songs="7035" baselist="1" revision="2" />
<Playlist id="9" name="Australia" songs="15" revision="2" />
<Playlist id="3" name="Instrumental" songs="25" revision="2" />
<Playlist id="7" name="In The Air Tonight" songs="17" revision="2" />
<Playlist id="10" name="On My Way In L.A." songs="18" revision="2" />
<Playlist id="2" name="Party" songs="6" revision="2" />
<Playlist id="8" name="Rock Ballads" songs="22" revision="2" />
</Playlists>
ssh.txt · Zuletzt geändert: 2010/09/03 11:33 von albitz