Wie wird die Portumleitung eingerichtet, nachdem eine SSH-Verbindung hergestellt wurde?

13

Ich verwende OpenSSH sowohl auf dem Client als auch auf dem Server. Ich weiß, dass ich einige Portumleitungen über ssh ausführen ssh -Loder ssh -Reinrichten kann. Da es sich jedoch um Befehlszeilenparameter handelt, müssen solche Umleitungen geschrieben werden, bevor die Verbindung geöffnet wird.

Kann ich die Portumleitung direkt mit dem Kommandozeilen-ssh-Client einrichten?

Als ich den PuTTYssh-Client verwendet habe, konnte ich interaktiv eine Portumleitung einrichten, während eine Verbindung bereits geöffnet war, ohne die Verbindung zu trennen oder erneut herzustellen. Daher weiß ich, dass dies technisch möglich ist.

Denilson Sá Maia
quelle

Antworten:

24

Wenn Sie die SSH-Befehlszeile verwenden und die Escape-Zeichenfunktion nicht ~Cdeaktiviert haben, können Sie nach einer neuen Zeile eine Minikonsole auf dem ssh-Client öffnen. Geben Sie dann -L port:host:portoder -R port:host:portoder -D portwie in der Befehlszeile ein, um eine Umleitung hinzuzufügen oder -KR porteine Umleitung zu entfernen.

Eine flexiblere Methode, Umleitungen einzurichten, ohne die Authentifizierung zu wiederholen, besteht darin, den ersten ssh-Client als Master ( -Moder -o ControlMaster=auto) und nachfolgende Clients als Slaves ( -Soder -o ControlMaster=auto) zu starten . Die Slaves tunneln über die vom Master eingerichtete Verbindung. Möglicherweise müssen Sie in ControlPathder Befehlszeile oder in Ihrem festlegen ~/.ssh/config; Weitere Informationen finden Sie in der Beschreibung der Optionen auf der ssh_configManpage .

Gilles 'SO - hör auf böse zu sein'
quelle
Falls jemand auf das ~C escape not available to multiplexex sessionsProblem stößt, wie ich es gerade getan habe, suchen Sie nicht nach Ihrer Master-Verbindung. -O forwardFügen Sie stattdessen einfach den Befehl ssh port forwarding hinzu, wie in, ssh -O forward -nfL 1234:whatever:1234 theserverund es wird funktionieren.
Patrick