Grundlegendes SSH-Tunneln durch generischen Linux-SSH-Server / -Client

1893
Oleg

Ich verwende meinen Heimcomputer, um eine Verbindung zum Unternehmensserver herzustellen, wobei ssh etwa Folgendes ausführt:

 ssh -p 2424 user@corporatehost.com 

Dann melde ich mich noch einmal remote an einem anderen Server im Unternehmensnetzwerk an:

 ssh internalcorporatehost 

Kann ich in einem Schritt einen SSH-Tunnel einrichten, oder gibt es andere Möglichkeiten, dies zu tun?

2

2 Antworten auf die Frage

1
Gilles

Richten Sie user@corporatehost.comals Proxy:

ssh -o 'ProxyCommand ssh -p 2424 user@corporatehost.com nc %h %p' internalcorporatehost 

Dies wird am besten über einen Alias ​​verwendet ~/.ssh/config, sodass Sie einfach Folgendes eingeben können ssh ich:

Host ich HostName internalcorporatehost User user_name_on_internalcorporatehost ProxyCommand ssh -p 2424 user@corporatehost.com nc %h %p 

ncist der Befehl netcat, der auf der Gateway-Maschine installiert sein muss. Wenn es nicht verfügbar ist, installieren Sie eine der umherfliegenden Versionen (Sie benötigen nur grundlegende Funktionen). Möglicherweise müssen Sie den vollständigen Pfad zur ncBinärdatei angeben (z /home/oleg/bin/nc. B. ).

Wenn Ihr SSH-Client Putty ist, sollte diese Antwort bei Stack Overflow hilfreich sein.

1
fgysin

Eine sehr einfache Lösung besteht darin, einen Befehl einfach mit einem Flag SSHdurch einen anderen SSHBefehl zu tunneln-t .

ssh -p 2424 -t user@corporatehost.com ssh internalcorporatehost 

Macht es sehr einfach und Sie brauchen keine weitere Konfiguration.