Quello che vorresti fare è ssh DAL tuo "server linux" A qualcosa all'esterno, come "my_other_server" o qualcos'altro a cui entrambi i server possono accedere.
Useresti il port forwarding remoto ssh.
[[email protected]_server]$ ssh -R8022:localhost:22 my_other_server.com
Spiegazione:connettiti a my_other_server e apri lì la porta 8022 che mi reindirizzerà sulla porta 22.
Da my_other_server.com sarai in grado di ssh a localhost sulla porta 8022 e il tuo traffico sarà inoltrato a linux_server piggybacking sul tunnel linux_server -> my_other_server[[email protected]_server]$ ssh -p8022 localhost
Spiegazione:Connettiti a me stesso sulla porta 8022 che viene inoltrata a linux_server
Se hai problemi con l'abbandono del tunnel linux_server -> my_other_server iniziale, puoi creare uno script per tenerlo aperto, regolare le impostazioni keepalive o utilizzare autossh.
Questa risposta si basa su quella accettata, ma aggiungendo i dettagli che mi hanno permesso di farlo. Mi scuso per la spiegazione banale, poiché non è affatto di mia competenza.
Supponi di avere due computer, A
e B
. Vuoi ssh
da A
a B
e non puoi eseguire alcun port forwarding nei router ad essi collegati.
Come afferma la risposta accettata, è necessario un server S
per fare ciò:nel computer B
, consentirai ssh
connessioni provenienti da S
; e dal computer A
, accederai a quel tunnel a S
per raggiungere B
.
Ma come si ottiene quel server S
? Ho trovato serveo
(collegamento:https://serveo.net/). È di uso molto semplice. Non devi installare nulla o registrarti ed è gratuito. Secondo il sito Web, i passaggi da seguire sono:
-
Pensa a un alias per il computer
B
. Ad esempio,computer_B_alias
. -
Nel computer
B
, eseguissh -R computer_B_alias:22:localhost:22 serveo.net
. -
Ora puoi accedere al computer
B
dal computerA
eseguendo quanto segue nel computerA
:ssh -J serveo.net [email protected]_B_alias
, dove devi sostituireuser
dal nome dell'utente nel computerB
.
P.S.:Ovviamente, rendi il punto 2 un compito automatico all'avvio del tuo computer B
.
P.S.S.:prima di provare, assicurati che ssh
è installato in entrambi i computer. Per Ubuntu, sudo apt-get install ssh
farebbe il lavoro.
Puoi utilizzare una sorta di VPN per farlo funzionare, ma richiederebbe di disporre di un server a cui possa accedere il server inaccessibile. Quindi puoi configurare OpenVPN sul server, sul tuo PC e sul server protetto da firewall, abilitare client-to-client
, e hai finito. http://openvpn.net/howto.html