SSH-Zugriff auf TS 109 II von Linux (ubuntu)

  • Ich habe eine TS 109 II (Firmware 2.x, die letzte Version) und einen Rechner mit Ubuntu (Karmic). Mit dem Terminal kann ich wunderbar als admin auf die TS 109 II zugreifen wenn ich dabei entsprechend mein Passwort eingebe. Nun wollte ich aber gerne ein Back-Script laufen lassen, damit vom lokalen Rechner auf die TS gesichert wird. Hierfür macht es ja Sinn eine Authentifizierung über Public-Keys vorzunehmen.
    Also habe ich die Schlüssel erstellt und den öffentlichen Schlüssel (id_rsa.pub) in die Datei authorized_keys (Verzeichnisse 'root/.ssh/' und '/etc/config/ssh', ich wusste nicht genau welches Verzeichnis dafür zuständig ist) kopiert. Laut diversen Foreneinträgen hier müsste es dann ja eigentlich funtionieren.
    Wenn ich nun ein Terminalfenster öffne und mich an der TS 109 II anmelden will, werde ich aber nach wie vor nach meinem Passwort gefragt. - Was habe ich falsch gemacht?

  • So, ich habe mir nun mittlerweile selbst helfen können. Das habe ich gemacht:


    1. Problem, dass authorized_keys und sshd_config beim Reboot überschrieben werden:
    Ich habe bei meinen "normalen" Verzeichnissen auch das Verzeichnis 'Admin' (share/...) angelegt in welche ich all jene Dinge ablege die für mich wichtig sind. Dies schreibe ich, damit hinterher klar wird wie ich meine Ordnerstruktur habe. Wer will kann es ja genauso machen (...oder muß es hinterher entsprechend berücksichtigen).
    In diesem Ordner habe ich nun das Verzeichnis "meine_ssh_files" angelegt und die Dateien authorized_keys und sshd_config dort hinein kopiert.
    Als nächstes habe ich nach dieser Anleitung http://wiki.qnap.com/wiki/Autorun.sh eine autorun.sh-Datei erstellt.
    Ubuntu-User etc. können dabei auch problemlos mit gedit, mousepad o.ä. die Datei erstellen und bearbeiten. Wichtig an der vorstehenden Anleitung sind die Hinweise zum mounten und unmounten!
    Meine autorun.sh sieht nun so aus:

    Code
    #! /bin/sh# SSH-Dateien kopieren da sie bei jedem reboot überschrieben werdencp /share/Admin/meine_ssh_files/authorized_keys /etc/ssh/cp /share/Admin/meine_ssh_files/sshd_config /etc/ssh/# Durch folgenden Kopierbefehl landen die Dateien auch im Verzeichnis /root/.ssh (Verknüpfung)cp /share/Admin/meine_ssh_files/authorized_keys /etc/config/ssh/# ssh neu startensleep 3/etc/init.d/login.sh restart


    Änderungen an der authorized_keys-Datei (bzw. am öffentlichen Schlüssel) und an der sshd_config-Datei künftig also bitte nur noch, wie in meinem Beispiel angegeben, im Verzeichnis "meine_ssh_files" vornehmen und dann stets die Qnap TS (im folgenden Server genannt) neu starten! Die Dateien werden dann automatisch an die richtige Stelle kopiert.


    2. Änderungen an der Datei sshd_config
    Es muß nun auch noch zugelassen werden das man sich mit key-Dateien anmelden will und wo der Schlüssel liegt. Bei der TS-109 II ist das Verzeichnis /root/.ssh dafür standardmäßig zuständig. Nachfolgend auszugsweise meine Datei:


    Nach Änderungen Server-Neustart nicht vergessen!!


    3. Verzeichnis- und Dateirechte beachten!!!!
    Was soll ich sagen: eigentlich war alles schön, und trotzdem konnte ich mich zwar mit meinem Passwort via ssh anmelden, nicht jedoch automatisch mit den Schlüsseln. Im Terminal habe ich ssh -vv admin@meineIP eingegeben um mehr über die Wurzel des Übels zu erfahren. Und siehe da:

    Zitat


    .....
    debug2: we did not send a packet, disable method
    debug1: Next authentication method: password


    Warum und weshalb der Kollege nix versenden wollte hat mir auch einige Kopfschmerzen bereitet. Nachfolgend in Kurzform:
    - Das Homevereichnis eures Rechners sollte mit Chmod 755 rechten (nicht höher!!) versehen sein.
    - Das darin befindliche .ssh-Verzeichnis erhält bitte 700.


    Auf eurer Qnap TS-109 sollte die Datei authorized_keys für den Besitzer les-u.schreibar sein, für alle anderen aber bitte auch lesbar (das war mein Fehler).

  • Nachtrag:
    Ich habe zwar immer noch kein Firmware-Update bei meinem TS 109 II durchgeführt (warum auch, funktioniert ja auch so) aber natürlich hat sich die Version von Ubuntu geändert (10.04 - Lucid). Auch damit funktioniert die vorstehende Anleitung prächtig.

  • NACHTRAG:
    Heute war es soweit und ich habe bei meiner 109 II eine neue und größere Festplatte einbauen müssen. Zum Einsatz kommt eine Toschiba-Platte mit mit 2 Terabyte, welche auch problemlos erkannt wurde. Leider musste ich nun meine ssh-Konfiguration wieder herstellen und habe mich dabei an meine vor langer Zeit geschriebene Anleitung gehalten.
    Dummerweise ist der im 2. Beitrag genannte Link zur Erstellung der Datei autorun.sh nicht mehr zugänglich, deshalb hier eine kleine Ergänzung:


    Die Datei autorun.sh (Inhalte siehe oben) kommt in das Verzeichnis /config/temp/ deines NAS und muß dort ausführbar gemacht werden.


    TIPP: Experten verwenden hierfür die Konsole bzw. das Terminal, einfacher geht es aber mit Ubuntu und dessen Dateimanager (ggf. Live-System verwenden). Einfach im Dateimanager (Nautilius) unter "Ort" ssh://admin@IP_DEINES_NAS eingeben, in das genannte Verzeichnis gehen und dort die Datei anlegen. Last but not least: Nicht vergessen die Datei auch ausführbar zu machen und das "Laufwerk", nachdem ihr alles gemacht habt, auszuhängen.