Ergebnis 1 bis 5 von 5

Baum-Darstellung

  1. #2
    VIP Avatar von SpaceRat
    Registriert seit
    12.08.2012
    Ort
    Midgard
    Beiträge
    416
    Thanks
    49
    Thanked 165 Times in 97 Posts
    Variante 1: Secure Shell/ssh mit (mehreren) Tunnel

    Diese Variante ist sehr sicher und verhältnismäßig einfach einzurichten.
    Die Tatsache, daß die Verbindung nur bedarfsweise hergestellt werden muß und der ssh-Server somit auch nur bedarfsweise läuft, macht diese Methode zum Mittel der Wahl.

    Ich werde die Einrichtung mittels telnet erklären, man könnte zwar das/die Pakete auch per GUI installieren, muß dann aber so oder so auf die shell der Box zugreifen.

    Im weiteren Verlauf werde ich für den Zugriff von außen voraussetzen, daß
    • bereits ein DynDNS-Host für das Heimnetz (IPv4) bzw. die Box selber (IPv6) existiert, für das Tutorial werde ich "tut.dyn.ip" annehmen
      Fritz!Box-Besitzer - insbesondere solche mit DS-lite-Anschluß - nutzen hierfür am besten den MyFritz!-Dienst
    • der Port 22 auf die Box weitergeleitet wurde (IPv4-"Portweiterleitung") bzw. in der Firewall des Routers freigegeben wurde (IPv6/DS-lite)



    Teil 1 - Server (E2-Box)

    Grundinstallation

    1. Paketinstallation
      Auf der Box benötigen wir lediglich ein oder zwei neue Pakete, und zwar

      • Auf sh4-Boxen das Paket enigma2-plugin-network-dropbear
        Installieren auf der Shell mit
        Code:
        opkg update
        opkg upgrade
        opkg install enigma2-plugin-network-dropbear
        Ausgabe während der Installation:
        Spoiler: 
        Code:
        Topf:~# opkg install enigma2-plugin-network-dropbear
        Installing enigma2-plugin-network-dropbear (0.55-3) to root...
        Downloading http://ipkserver.hdmedia-universe.com/sh4new/enigma2-plugin-network-dropbear_0.55-3_sh4.ipk.
        installing dropbear...
        Configuring enigma2-plugin-network-dropbear.
        successfully installed
        syncing disk
        Will output 1024 bit dss secret key to '/etc/dropbear/dropbear_dss_host_key'
        Generating key, this may take a while...
        Public key portion is:
        ssh-dss
        ...
        Fingerprint: md5 ...
        Will output 1024 bit rsa secret key to '/etc/dropbear/dropbear_rsa_host_key'
        Generating key, this may take a while...
        Public key portion is:
        ssh-rsa
        ...
        Fingerprint: md5 ...
      • Auf MIPS-Boxen dropbear + openssh-sftp-server
        Installation durch Eingabe folgender Kommandos:
        Code:
        opkg update
        opkg upgrade
        opkg install dropbear openssh-sftp-server
    2. Austausch des RSA Host Keys
      Durch folgende Kommandos tauschen wir nun noch den 1024 Bit RSA Host Key gegen einen mit 2048 Bit aus:
      Code:
      rm /etc/dropbear/dropbear_rsa_host_key
      dropbearkey -t rsa -s 2048 -f /etc/dropbear/dropbear_rsa_host_key
      Die Erzeugung eines so großen Schlüssels kann, insbesondere auf sh4, etwas dauern.


    Damit ist die Grundinstallation beendet und wir können uns nun statt per telnet auch per ssh mit der Box verbinden.


    Absicherung

    Damit uns später niemand beim Eingeben des Passworts über die Schulter gucken kann, wollen wir schlichtweg keines nutzen.
    Das geht ganz einfach, indem wir eine Autorisierung über "asymetrische Verschlüsselung" nutzen, also über ein Schlüsselpaar aus einem privatem und einem öffentlichen Schlüssel.

    1. Schlüsselerzeugung
      Ein solches Schlüsselpaar erzeugen wir unter Windows am einfachsten mit puttygen aus dem putty-Paket:

      Einfach die Voreinstellungen "SSH2-RSA" und "2048 Bits" belassen und auf [Generate] klicken. Danach möchte puttygen, daß man mit der Maus über den leeren Fensterbereich fährt, um wirklich zufällige Werte zu generieren.
    2. Erzeugtes Schlüsselpaar speichern
      Dem Schlüssel geben wir nun noch einen Namen (Feld "Key Comment"), sinnvoller Weise ist das "root@<client>" also z.B. "root@Smartphone" (Warum erkläre ich später).

      Auf Wunsch kann auch ein Passwort ("Key passphrase" und "Confirm passphrase") festgelegt werden, das immer dann eingegeben werden muß, wenn der Schlüssel benutzt werden soll. Soll der Zugang später mobil genutzt werden, z.B. auf dem Smartphone, ist das durchaus sinnvoll, damit der Key nicht unmittelbar mißbraucht werden kann, sollte er in fremde Hände gelangen.

      Nun können sowohl der "public key" als auch der "private key" durch Klick auf die entsprechenden Schaltflächen und Eingabe eines Dateinamens gespeichert werden. Durch Auswahl des Menüpunktes "Conversions -> Export OpenSSH key" kann der private Schlüssel zusätzlich noch im Format von OpenSSH gespeichert werden. Dies bitte auch tun.

      Für den Rest des Tutorials gehe ich davon aus, daß die Keys unter folgenden Namen gespeichert wurden:
      Public key: Tut.pub
      Private key: Tut.ppk
      OpenSSH key: Tut.ssh
    3. Die Box mit dem öffentlichen Schlüssel bekanntmachen
      Damit wir uns mit diesem Schlüsselpaar an der Box anmelden können, muß die Box den öffentlichen (public) Teil des Schlüssels kennen.
      Durch Markieren des gesamten öffentlichen Schlüssels im puttygen-Fenster plus "Rechtsklick -> Kopieren" bekommen wir diesen in die Zwischenablage.

      Diesen müssen wir nun auf der Box in eine Textdatei namens ~/.ssh/authorized_keys speichern.

      Für die, die diese Datei auf dem PC erzeugen und auf die Box kopieren wollen:
      Das ~ steht dabei je nach Image für /home/root oder /root (Einheitlichkeit war noch nie die Stärke von *ixen).
      Beim Erzeugen von Konfigurationsdateien für *ix-Systeme ist aber immer der abweichende Zeilenvorschub (Normal: CR+LF, also "Wagenrücklauf" + "Zeilenvorschub", *ix: Nur LF/Zeilenvorschub, *ixer schreiben also auf endlos breitem Papier ) zu beachten, dies ist ggf. vor dem Speichern der Datei im Texteditor umzustellen.

      Man kriegt den Key aber auch direkt per Telnet/ssh durch folgende Befehle gespeichert:
      Code:
      mkdir -p ~/.ssh
      cat >> ~/.ssh/authorized_keys
      nach dem zweiten Befehl kehrt die Box nicht wieder zum Prompt "root@box" zurück, sondern wartet auf weitere Eingaben.
      Dort nun unmittelbar den Key einfügen (Rechtsklick -> Einfügen oder auf der Tastatur Umschalttaste+Einfügetaste), einmal die Eingabetaste betätigen und dann "Strg+C" drücken.
      Dabei darf man aber nicht versehentlich auf anderen Tasten rumgrabbeln, sonst werden diese mit eingefügt ...

      Nun müssen noch die Dateirechte der authorized_key und des Verzeichnisses korrigiert werden, da sich dropbear sonst weigert, diese zu nutzen.
      Dazu eingeben:
      Code:
      chmod 700 ~/.ssh
      chmod 600 ~/.ssh/*


    Der ssh-Server ist nun soweit fertig für den Login mittels key eingerichtet.
    Geändert von SpaceRat (29.04.2014 um 06:05 Uhr)

  2. The Following 6 Users Say Thank You to SpaceRat For This Useful Post:



Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •