Billig-VPN mit AutoSSH

Jede Woche erscheint in unserem Newsletter ein neuer ADMIN-Tipp. Eine Sammlung aller Tipps finden Sie im Archiv der ADMIN-Tipps.

Wer vorübergehend eine stabile verschlüsselte Verbindung braucht, sollte einen Blick auf AutoSSH werfen.

Um "von draußen" ein Verbindung in ein abgesichertes Netz herzustellen, sind normalerweise VPN-Verbindungen mit OpenVPN oder IPsec die Mittel der Wahl. Um ohne große Konfiguration ein ähnliches Ziel zu erreichen, lassen sich auch SSH-Verbindungen forwarden, die auf einem im Internet erreichbaren Rechner enden - der selbstverständlich entsprechend gut abgesichert sein muss. Zum Beispiel stellt der folgende SSH-Aufruf eine solche Remote-Forwarding-Verbindung her:

internalhost:~$ ssh -N -R 2222:localhost:22 user@remoteserver

Anschließend lässt sich mit dem Aufruf "ssh -p 2222 localhost" nach dem Einloggen auf remoteserver eine Verbindung zum internalhost herstellen. Im Prinzip könnte der remoteserver diesen Port auch nach außen anbieten, aber nachdem das keine besonders sichere Konfiguration ist, wollen wir hier nicht weiter auf dessen Konfiguration eingehen (siehe die Anweisung "GatewayPorts" in der sshd-Konfiguration)

Wenn die herstellte Forwarding-Verbindung abbricht, stellt SSH sie von selber nicht mehr her, insofern ist die Methode fehleranfällig. Dieses Problem löst AutoSSH , das die Verbindung überwacht und bei Bedarf wieder herstellt. Praktischweise sind die Aufrufoptionen die gleichen wie bei SSH, sodass der Anwender keine neuen Parameter lernen muss. Wer das Tool mit einem Init-System wie Upstart kombiniert, kann die AutoSSH-Verbindung schon beim Booten starten:

description "autossh tunnel"
        
    start on (local-filesystems and net-device-up IFACE=eth0)
    stop on runlevel [016]
        
    respawn
    respawn limit 5 60
        
    exec /usr/bin/autossh -N -R 2222:localhost:22 -o BatchMode=yes -o StrictHostKeyChecking=no -i /root/.ssh/id_rsa user@remoteserver
25.01.2016
SSH , VPN
comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023