Come impostare il reindirizzamento delle porte dopo l'apertura di una connessione ssh?


13

Sto usando openssh sia su client che su server. So di poter eseguire ssh -Lo ssh -Rimpostare alcuni reindirizzamenti delle porte su ssh. Tuttavia, poiché sono parametri della riga di comando, tali reindirizzamenti devono essere scritti prima dell'apertura della connessione.

Posso configurare i reindirizzamenti delle porte al volo usando il client ssh della riga di comando?

Quando ho usato il PuTTYclient ssh, ho potuto impostare interattivamente un reindirizzamento della porta mentre era già aperta una connessione, senza cadere o riconnettersi, quindi so che è tecnicamente possibile.

Risposte:


24

Se stai usando la riga di comando SSH e non hai disattivato la funzione di carattere di escape , puoi digitare ~Cdopo una nuova riga per aprire una mini console sul client ssh. Quindi digitare -L port:host:porto -R port:host:porto -D portcome si farebbe sulla riga di comando per aggiungere un reindirizzamento o -KR portper rimuovere un reindirizzamento.

Un metodo più flessibile per impostare i reindirizzamenti senza ripetere l'autenticazione è avviare il primo client ssh come master ( -Mo -o ControlMaster=auto) e i client successivi come slave ( -So -o ControlMaster=auto). Gli schiavi tunnel attraverso la connessione stabilita dal padrone. Potrebbe essere necessario impostare ControlPathsulla riga di comando o nel tuo ~/.ssh/config; vedere la descrizione delle opzioni nella ssh_configpagina man per maggiori informazioni.


Nel caso in cui qualcuno si imbatta nel ~C escape not available to multiplexex sessionsproblema come ho appena fatto, non andare a caccia della tua connessione principale. Invece, basta aggiungere -O forwardal comando di port forwarding ssh, come in ssh -O forward -nfL 1234:whatever:1234 theservere funzionerà.
Patrick,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.