Introduzione
Il port forwarding SSH viene spesso definito tunneling SSH e i due termini sono usati in modo intercambiabile.
Il "tunnel" SSH crittografato funge da nave per trasferire dati assortiti e consegnarli in sicurezza al sistema remoto. Questo metodo viene regolarmente utilizzato per aggirare i protocolli di sicurezza firewall standard. Il port forwarding è un componente della maggior parte dei programmi client e server SSH.
Scopri come utilizzare OpenSSH per Linux e il client Windows PuTTY per abilitare il port forwarding SSH locale, remoto o dinamico.
Prerequisiti
- Un client/server SSH a tua scelta (OpenSSH o PuTTY)
- Un indirizzo IP raggiungibile o il nome del server remoto/locale
Come utilizzare il port forwarding locale
Le preziose risorse di rete in genere non consentono l'accesso SSH remoto. Questa sarebbe una grave limitazione in un moderno ambiente distribuito. Le organizzazioni di solito risolvono questo problema configurando un server di "salto" SSH intermedio per accettare connessioni SSH remote.
Il client SSH locale stabilisce una connessione con il server SSH remoto. La connessione viene quindi inoltrata a una risorsa all'interno della rete interna attendibile. Vengono stabilite connessioni SSH e gli sforzi per la sicurezza possono concentrarsi sul server SSH intermedio piuttosto che sulle singole risorse di una rete.
Inoltro alla porta locale con OpenSSH
Per utilizzare il tunneling SSH in Linux, è necessario fornire al client i numeri di porta di origine e di destinazione, nonché la posizione del server di destinazione. La posizione può essere un indirizzo IP o un nome host .
La sintassi di base per un port forwarding locale il comando è semplice:
ssh -L local_port:destination_server_ip:remote_port ssh_server_hostname
⦁ ssh
– Avvia il programma client SSH sulla macchina locale e stabilisce una connessione sicura al server SSH remoto.
⦁ -L local_port:destination_server_ip:remote_port
– La porta locale sul client locale viene inoltrata alla porta del server remoto di destinazione.
⦁ ssh_server_hostname
– Questo elemento della sintassi rappresenta il nome host o l'indirizzo IP del server SSH remoto.
Un esempio pratico di comando di port forwarding SSH potrebbe assumere la forma seguente:
ssh –L 5901:188.17.0.5:4492 [email protected]
Nell'esempio sopra, tutto il traffico inviato alla porta 5901 sul tuo host locale viene inoltrato alla porta 4492 sul server remoto situato in 188.17.0.5.
Inoltro alla porta locale con PuTTY
PuTTY è un client SSH intuitivo per Windows. Configura il tunneling SSH locale seguendo questi passaggi:
- Quando avvii l'applicazione PuTTY, le Sessioni consente di inserire il nome host o l'indirizzo IP e il numero di porta del server SSH di destinazione (esempio:[email protected] e numero di porta 22).
- Utilizza la Categoria elenco a sinistra per accedere a Connessione> SSH> Tunnel .
- Seleziona Locale per definire il tipo di port forwarding SSH.
- Inserisci il tuo numero di porta locale nella Porta di origine campo.
- Digita l'indirizzo di destinazione e il numero di porta in Destinazione campo. Utilizza il seguente formato:destination_server_ip:remote_port.
(ad es. Porta di origine:5901, Destinazione:188.17.0.5:4492) - Dopo aver verificato che le informazioni inserite siano corrette, seleziona Aggiungi .
- I parametri per la connessione sono ora tutti impostati. L'Aperto l'opzione avvia il port forwarding SSH locale.
Come utilizzare il port forwarding remoto
Lo scopo dell'inoltro remoto è consentire a un server remoto di accedere alle risorse sul computer locale. L'inoltro remoto rappresenta un'inversione del processo di inoltro locale che abbiamo esplorato in precedenza.
Inoltro porta remoto con OpenSSH
La sintassi di base per un port forwarding remoto il comando è il seguente:
ssh -R remote_port:localhost:local_port ssh_server_hostname
In questo esempio, abbiamo indicato al server remoto ssh.server.com
per inoltrare eventuali collegamenti diretti alla porta 8080 alla risorsa locale in ascolto sulla porta 5534 .
ssh –R 8080:localhost:5534 [email protected]
Gli utenti con accesso al server SSH ora possono accedere alle risorse sul tuo computer locale.
Inoltro porta remoto con PuTTY
- Avvia l'applicazione PuTTY. Le sessioni iniziali screen consente di specificare l'indirizzo IP e il numero di porta del server SSH di destinazione.
- Utilizza la Categoria elenco a sinistra per accedere a Connessione> SSH> Tunnel .
- Seleziona Remoto per definire il tipo di port forwarding SSH.
- Inserisci il numero della porta remota nella Porta di origine campo (ad es. 8080 ).
- Digita l'indirizzo di destinazione e il numero di porta in Destinazione campo utilizzando il seguente formato localhost:local_port (ad esempio, localhost:5534 ).
- Dopo aver verificato che le informazioni inserite siano corrette, fai clic su Aggiungi .
- Seleziona Apri per stabilire un port forwarding SSH remoto.
Nell'esempio sopra, gli utenti e le applicazioni possono connettersi alla porta 8080 sul server SSH remoto e quindi accedere al computer locale utilizzando la porta 5534.
Come utilizzare il port forwarding dinamico
Il port forwarding dinamico non è così noto come le due opzioni precedenti. La maggior parte degli utenti trova più facile utilizzare il port forwarding locale per ottenere risultati simili. Il port forwarding dinamico può fornire maggiore flessibilità poiché non è più necessario utilizzare una porta e un server remoti predefiniti.
Inoltro dinamico delle porte con OpenSSH
Usando il ssh
comando e il –D
argomento, puoi utilizzare il tuo client SSH per creare un proxy SOCKS sul tuo computer locale.:
ssh –D local_port ssh_server_hostname
Il comando seguente apre un proxy SOCKS sulla porta 5534 sul computer locale:
ssh –D 5534 [email protected]
Ora puoi configurare una risorsa locale, come un browser, per utilizzare la porta 5534. Tutto il traffico proveniente da quella risorsa viene diretto attraverso le connessioni SSH stabilite per la porta definita.
Inoltro dinamico delle porte con PuTTY
- Inserisci il nome host o l'indirizzo IP e il numero di porta del server SSH di destinazione nelle sessioni PuTTY principali schermo.
- Utilizza la Categoria elenco per accedere a Connessione> SSH> Tunnel .
- Seleziona Dinamico per definire il tipo di port forwarding SSH.
- Inserisci il numero di porta dinamica nella Porta di origine campo (ad es. 5534 ). Il server proxy SOCKS sul tuo computer locale utilizzerà questa porta per inoltrare dinamicamente il traffico.
- Una volta che sei sicuro che le informazioni che hai inserito siano corrette, fai clic su Aggiungi .
- I parametri per la connessione sono ora tutti impostati. Seleziona Apri opzione per avviare il port forwarding SSH dinamico.
Affinché l'inoltro dinamico funzioni, è necessario configurare e abilitare ciascuna applicazione per il server proxy SOCKS.