Startpage > Techblog > Systemadministration > Tunnel mit ssh - Teil 2 Aufbau des Tunnels
jko

Nachdem ich im ersten Teil beschrieben habe, wie man ssh ohne Passwort nutzt und den so geschaffenen Zugang trotzdem einschränkt, komme ich zum interessanten Teil: dem eigentlichen Tunnelbau. Wir holen uns einen lokalen Zugang zu PostgreSQL auf einem entfernten Host über ssh. Dazu geben wir folgenden Befehl ein:

ssh -f -L 2222:remotehost:5432 -c blowfish user@remotehost /usr/bin/sleep 1800

Mit der Option -f wird ssh in den Hintergrund vor der Ausführund des Kommandos /usr/bin/sleep geschickt. Mit -L localport:remotehost:remotehostport wird ein Tunnel von dem PostgreSQL-Standardport 5432 auf remotehost zum Port 2222 auf localhost gebaut. Jetzt noch die Zugriffsrechte der Datenbank für localhost auf dem remotehost aktualisiert und wir können den ersten Test durchführen:

psql -U benutzer -d db -h localhost -p 2222

Wird diese Verbindung dauerhaft benötigt bietet es sich eine Automatisierung über cron an. Dazu habe ich folgendes Skript erstellt:

#!/bin/sh
PORT=`lsof -i | grep localhost:2222 | head -1 | cut -d" " -f1`
SSH=`which ssh`
if [ "${PORT}"x == "x" ]; then
$SSH -f -L 2222:remotehost:5432 -c blowfish user@remothost /bin/sleep 1800
fi

Diese prüft ab, ob der definierte Port offen ist, und startet die Verbindung einfach neu, wenn dies nicht der Fall ist.

Comment Feed Trackback URL

Leave a Reply

Tag Cloud

Unsere Themen

Kommentare

  • Christian Heindel: Hallo Volti, die Option “Verbindung mit ‘Dokumentbibliothek̵ 7; herstellen”...
  • volti: Hi, ich hab das beschriebene Probleme mit Outlook 2010, dort finde ich die Option Aktionen >...
  • Michael Wittwer: Hallo Guter Beitrag, bin seit kurzem auch mit Balsamiq am arbeiten und die Effizienz ist einfach...
  • Frank: Danke, tut und ist im Vergleich zur Atlassian Lösung abwärtskompatibel bis Confluence 2.10.
  • Ghost@: Danke für die schnelle Antwort Martin! Das ist natürlich ärgerlich, dass der Datentyp nicht unterstützt ist....

Twitter