Lo que querría hacer es ssh DESDE su "servidor Linux" A algo en el exterior, como "mi_otro_servidor" o algo más a lo que ambos servidores puedan acceder.
Usaría el reenvío de puerto remoto ssh.
[[email protected]_server]$ ssh -R8022:localhost:22 my_other_server.com
Explicación:conéctese a my_other_server y abra el puerto 8022 allí, que me reenviará en el puerto 22.
Desde my_other_server.com, podrá conectarse mediante ssh a localhost en el puerto 8022 y reenviar su tráfico a linux_server piggybacking en linux_server -> my_other_server tunnel[[email protected]_server]$ ssh -p8022 localhost
Explicación:Conectarme a mí mismo en el puerto 8022 que se reenvía a linux_server
Si tiene problemas con el abandono inicial del túnel linux_server -> my_other_server, puede crear un script para mantenerlo abierto, ajustar la configuración de keepalive o usar autossh.
Esta respuesta se basa en la aceptada, pero agregando los detalles que me permitieron hacerlo. Me disculpo por la explicación pedestre, ya que esto no es en absoluto de mi experiencia.
Suponga que tiene dos computadoras, A
y B
. Quieres ssh
de A
a B
, y no puede realizar ningún reenvío de puertos en los enrutadores conectados a ellos.
Como dice la respuesta aceptada, necesita un servidor S
para hacer esto:en la computadora B
, permitirá ssh
conexiones provenientes de S
; y desde la computadora A
, accederá a ese túnel en S
para llegar a B
.
Pero, ¿cómo obtienes ese servidor? S
? Encontré serveo
(enlace:https://serveo.net/). Es de uso muy sencillo. No tienes que instalar nada ni registrarte y es gratis. Según el sitio web, los pasos a seguir son:
-
Piense en un alias para la computadora
B
. Por ejemplo,computer_B_alias
. -
En la computadora
B
, ejecutassh -R computer_B_alias:22:localhost:22 serveo.net
. -
Ahora, puede acceder a la computadora
B
desde la computadoraA
ejecutando lo siguiente en la computadoraA
:ssh -J serveo.net [email protected]_B_alias
, donde tienes que sustituiruser
por el nombre del usuario en la computadoraB
.
P.D.:Por supuesto, conviertes el punto 2 en una tarea automática al iniciar tu computadora B
.
P.S.S.:Antes de intentar esto, asegúrese de que ssh
está instalado en ambos equipos. Para Ubuntu, sudo apt-get install ssh
haría el trabajo.
Puede usar una especie de VPN para que esto funcione, pero requeriría que tenga un servidor al que pueda acceder el servidor inaccesible. Luego puede configurar OpenVPN en el servidor, su PC y el servidor con firewall, habilite client-to-client
, y tu estas listo. http://openvpn.net/howto.html