Utilizzare l'inoltro porta remota per inoltrare i dati in maniera protetta da un client dell'applicazione eseguito sull'host del server Secure Shell. Quando viene configurato l'inoltro porta remota, è possibile designare una porta remota arbitraria da utilizzare per l'inoltro dei dati e un host e una porta di destinazione per ricevere i dati.
L'inoltro della porta remota funziona come segue:
Quando viene stabilita la connessione Secure Shell, il client Secure Shell apre un socket Unione di un nome dell'host (indirizzo IP o nome DNS) e un numero di porta. Questa unione crea un identificatore univoco utilizzato da un'applicazione del client come punto terminale delle comunicazioni. host Server Secure Shell utilizzando la porta specificata.
Se il comando Configura aree di autenticazione non è disponibile (in grigio), significa che l'amministratore di sistema ha disattivato questa funzionalità. Quando questo client stabilisce una connessione, tutti i dati vengono inviati al socket di attesa e vengono quindi reindirizzati al server Secure Shell.
Il server Secure Shell esegue la crittografia dei dati e li invia in maniera protetta tramite il tunnel SSH al client Secure Shell.
Il client Secure Shell riceve i dati, ne esegue la decrittografia e li reindirizza all'host e alla porta di destinazione (sull'host del client Secure Shell) utilizzati dall'applicazione server.
I dati restituiti dall'applicazione del server vengono indirizzati al client Secure Shell, il quale ne esegue la crittografia e li invia in maniera protetta al server Secure Shell tramite il tunnel SSH. Il server Secure Shell esegue la decrittografia dei dati e li reindirizza all'applicazione client originale.
La sintassi generale dalla riga di comando per l'inoltro porta remota è:
ssh -R listening_port:app_host:hostport user@sshserver
Nel diagramma seguente viene illustrata una configurazione possibile dell'inoltro porta remota.
Il server dell'applicazione e il client Secure Shell vengono eseguiti su HostA. Il server Secure Shell e il client dell'applicazione vengono eseguiti entrambi su HostB. Tutti i dati inviati alla porta 2222 di HostB vengono inoltrati alla porta 222 di HostA. In questa configurazione, tutti i dati in transito vengono crittografati in maniera protetta. Questo comando configura quanto segue:
ssh -R 2222:localhost:222 user@HostB