Tunnel SSH su multi-hop usando stucco


13

Ho una situazione in cui voglio collegarmi a una macchina Linux che esegue VNC (chiamiamolo VNCServer) che si trova dietro due macchine Linux consecutive, ad esempio, per ssh nel VNCServer, devo ssh in Gateway1 dal mio laptop, quindi dalla shell Gateway1 Ssh in Gateway2 e poi da quella shell finalmente ssh in VNCServer. Non riesco a modificare il design della rete e il flusso di accesso Laptop -> Gateway1 -> Gateway2 -> Server. Non ho i privilegi di root su Gateway1 e tutte le porte tranne 22 e 5901 sono chiuse.

Esiste un modo per avviare un visualizzatore VNC sul mio laptop e accedere a VNCServer? Capisco che potrebbe essere fatto utilizzando le funzionalità di tunneling ssh e ho del mastice sul mio laptop Windows (mi dispiace, non è possibile installare Linux o Cygwin ecc. Sul laptop di lavoro). Qualsiasi aiuto sarà molto apprezzato in quanto ciò renderebbe la mia vita così più semplice!

Risposte:


19

Putty supporta i tunnel ssh, se si espande la connessione, l'albero SSH, vedrai una voce per i tunnel.

I tunnel locali producono un'apertura della porta localhost sul tuo computer Windows che si rivolge all'indirizzo IP e alla porta specificati. Ad esempio, quando provo a eseguire il RDP su un desktop a casa mia, generalmente scelgo una porta locale casuale, qualcosa come 7789, quindi inserisco l'indirizzo IP locale del desktop (1.2.3.4:3389) come telecomando ospite. Assicurati di fare clic su "Aggiungi", quindi su "Applica". A questo punto, quando rdp a 127.0.0.1:7789, ti collegherai a 1.2.3.4:3389 durante la sessione di putty.

È qui che entra in gioco il divertimento. Se poi installi un tunnel di porte sul tuo box intermedio, configurando la porta locale che hai specificato come porta remota in putty, puoi quindi rimbalzare attraverso il putty, attraverso il box intermedio la tua destinazione finale. Avrai comunque bisogno di fare qualche connessione ssh, ma sarai in grado di attraversare vnc o rdp direttamente dal sistema Windows una volta impostato, che è quello che credo tu stia cercando di fare.

ESEMPIO

  1. Vai al pannello dei tunnel in Putty (Connessioni-> SSH-> Tunnel a cui puoi accedere dal menu contestuale se la sessione ssh è già attiva, o nella schermata di connessione iniziale all'avvio di Putty)
  2. Creare un tunnel con l'origine locale 15900 e l'origine remota 127.0.0.1:15900
  3. Connetti (se non già connesso) a Gateway1.
  4. Su Gateway1, ssh -L 127.0.0.1:15900:VNCServerIP:5900 user @ Gateway2
  5. Una volta che l'ssh per Gateway2 è attivo, prova a vnc a 127.0.0.1:15900 - ora dovresti vedere lo schermo VNC sul lato opposto!

BONUS AGGIUNTO : non molte persone lo sanno, ma questo processo può essere utilizzato anche per il proxy del traffico IPv6 / IPv4. A SSH non importa quale protocollo utilizzi per i tunnel, quindi in teoria puoi accedere solo agli host IPv6 da un sistema solo IPv4, dato che il server ssh è dual stack (ha indirizzi IPv4 e IPv6).


15

C'è un'alternativa se si desidera utilizzare PuTTY per entrambi i salti. In questo esempio stiamo passando dal gateway n. 1 (10.0.1.123) al gateway n. 2 (10.0.1.456) alla porta 80 il 10.0.1.789.

  1. Per prima cosa crea l'hop al gateway # 1. Innanzitutto imposta la connessione al primo server. Imposta un tunnel sul secondo gateway in Connessione> SSH> Tunnel. In questo esempio stiamo inoltrando la porta 2222 al secondo gateway.

    connettersi a servert

    allestire un tunnel

  2. Ora installeremo il secondo hop. Effettueremo il tunneling dal primo gateway al gateway successivo e configureremo il port forwarding sul secondo gateway. La connessione è a localhost sulla porta 2222. Questo eseguirà il tunneling attraverso la connessione ssh in esecuzione al secondo hop. Su questa connessione impostiamo una porta forward dalla porta 3333 alla 10.0.1.789.

    inserisci qui la descrizione dell'immagine

    inserisci qui la descrizione dell'immagine

  3. Ora apri un browser e vai a 127.0.0.1:3333 e passerai attraverso le due connessioni SSH a 10.0.1.789:80


1
C'è un modo per ottenere lo stesso usando una singola sessione di mastice con due tunnel configurati nel menu SSH -> Tunnel? In questo modo devi solo aprire un'istanza di stucco?
ulrich
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.