Inoltro porta remota
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. Il funzionamento dell'inoltro porta remota è il seguente.
- Quando viene stabilita la connessione Secure Shell, il server Secure Shell apre un di attesa sull'host del server Secure Shell utilizzando la porta di attesa specificata.
- Un'applicazione del client eseguita sull'host del server Secure Shell viene configurata in modo da stabilire la connessione alla porta di attesa, anziché direttamente all'host e alla porta del server dell'applicazione. 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 porta_attesa:host_app:portahost utente@serverssh
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:hostlocale:222 utente@HostB
|