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.

  1. Quando viene stabilita la connessione Secure Shell, il server Secure Shell apre un socket di attesa sull'host del server Secure Shell utilizzando la porta di attesa specificata.
  2. 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.
  3. Il server Secure Shell esegue la crittografia dei dati e li invia in maniera protetta tramite il tunnel SSH al client Secure Shell.
  4. 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.
  5. 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.

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