Esta respuesta se basa en la aceptada, pero agrega los detalles que me permitieron hacerlo. Pido disculpas por la explicación peatonal, ya que esto no es para nada mi experiencia.
Supongamos que tiene dos computadoras, A
y B
. Desea pasar ssh
de A
a B
, y no puede hacer 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 desde S
; y desde la computadora A
, accederás a ese túnel S
para llegar B
.
Pero, ¿cómo se obtiene ese servidor S
? Encontré serveo
(enlace: https://serveo.net/ ). Es de uso muy simple. No tiene que instalar nada ni registrarse y es gratis. Según el sitio web, los pasos a seguir son:
Piensa en un alias para computadora B
. Por ejemplo, computer_B_alias
.
En la computadora B
, ejecutar ssh -R computer_B_alias:22:localhost:22 serveo.net
.
Ahora, puede acceder a la computadora B
desde la computadora A
ejecutando lo siguiente en la computadora A
:, ssh -J serveo.net user@computer_B_alias
donde debe sustituir user
por el nombre del usuario en la computadora B
.
PD: Por supuesto, haces que el punto 2 sea una tarea automática al iniciar tu computadora B
.
PSS: antes de intentar esto, asegúrese de que ssh
esté instalado en ambas computadoras. Para Ubuntu, sudo apt-get install ssh
haría el trabajo.