[Howto] ssh mit RSA Key

  • Moin,
    es gibt Situationen in denen man von einzelnen Rechnern aus einen ssh Zugang verwenden möchte,
    ohne sich einloggen zu müssen. Das kann beispielsweise in Scripten sein,
    die ein Backup machen (secure copy) oder ....
    Die Authentifizierung kann über einen RSA Key funktionieren.
    Wichtig dabei ist sich des Sicherheitsrisikos :!: bewusst zu sein, man sollte sich mit den Rechten auf Dateien auskennen! Dieses Vorgehen ist nur was für den eigenen Rechner und hat auf "öffentlichen" Computern nix zu suchen!
    Die folgende Prozedur ist unter Linux (vermutl. unabh. von der Distribution) und MAC (mit Unix-Kernel darunter) getestet.
    1. shell öffnen (Konsole, Terminalfenster ...) und eingeben:

    Code
    ssh-keygen


    ein public Key wird erzeugt und im $HOME/.ssh/ abgelegt


    2. Hochladen mit:

    Code
    $ cat ~/.ssh/*.pub | ssh user@remote-system 'umask 077; cat >>.ssh/authorized_keys'


    Erläuterung:
    Durch die Pipe wird der Inhalt des Public Keys des clients (ggf. den genauen Key angeben)
    auf das per ssh aufgerufene Zielsystem (NAS) geladen.
    Bei einem Qnap ist das local: admin@IP_DES_NAS
    Über Internet: ssh admin@DYNDNS_ADRESSE und ggf. noch -p PORTWEITERLEITUNG


    Dateirechte: Durch die umask wird der key auf 700 gesetzt und steht anschliessend in .ssh/authorized_keys


    Während der Aktion wird natürlich noch das Passwort verlangt, bei erneutem Einloggen dann nicht mehr.
    Details: siehe auch: man ssh-keygen auf dem Linux/Mac - System.


    Und jetzt sehe ich auch, dass es bereits veröffentlicht ist:
    http://forum.qnap.com/viewtopic.php?t=22770


    Glück auf :thumb:
    Ralph