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.
[example@unixlinux.online_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[example@unixlinux.online_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
Bdal computerAeseguendo quanto segue nel computerA:ssh -J serveo.net example@unixlinux.online_B_alias, dove devi sostituireuserdal 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