
Mi oficina tiene una puerta de enlace predeterminada y detrás de ella hay una red local con direcciones IP asignadas localmente a todas las computadoras, incluida la mía.
Tengo administrador en mi PC de oficina instalada con Ubuntu y es esencial que acceda a la computadora durante los fines de semana a través de SSH.
En la oficina no tengo una IP pública pero siempre obtengo la misma IP local del DHCP. Puedo configurar cualquier software que desee en mi PC, aunque no puedo configurar el reenvío de puertos en el firewall principal.
Obtengo una IP pública para la computadora de mi casa que también ejecuta Linux. tenga en cuenta que no puedo instalar software similar a Team Viewer.
¿Cómo puedo solucionar mi problema?
Respuesta1
Es fácil:
[ejecutar desde la máquina de la oficina] Configurar la conexión Oficina -> Casa (ya que la Casa tiene IP pública). Esto configurará un túnel inverso desde la máquina de su oficina hasta su hogar.
ssh -CNR 19999:localhost:22 homeuser@home
[ejecutar desde la máquina doméstica] Conéctese a su oficina desde casa. Esto utilizará el túnel del paso 1.
ssh -p 19999 officeuser@home
Asegúrese de que el túnel ssh no vaya en contra de las políticas de su empresa, porque a veces lo pueden despedir por dicho esquema de conexión (por ejemplo, mi empleador me despedirá por eso).
PD. En el primer paso, es posible que desee utilizar autossh
algo así, para que la conexión de su túnel se restablezca automáticamente en caso de que la red sea inestable.
Respuesta2
Suponiendo que tiene control sobre su red doméstica y que allí configura su dirección IP interna fija (por ejemplo, según la dirección MAC de su PC doméstica), puede abrir un puerto (por ejemplo, 4321) en su enrutador doméstico para reenviar a tu PC también en 4321.
En casa, sshd
escuche en ese puerto.
Cree un nuevo usuario localmente ya que (por supuesto) no desea utilizar su par de claves pública/privada normal para ejecutarlo en la computadora de su oficina mientras no está allí. Cree un par de claves pública/privada en la computadora de su oficina y copie la clave pública al nuevo usuario en la computadora de su hogar.
Suponiendo que la IP de su hogar (tal como la proporcionó su proveedor a su enrutador) es relativamente estable y que puede tener algún lugar para publicar esta dirección IP de su hogar (por ejemplo, cargándola en algún sitio web), donde su PC de oficina pueda recuperarla. él, entonces la PC de su oficina puede configurar un túnel ssh inverso.
La PC de su oficina debe recuperar la IP de su hogar periódicamente (por ejemplo, cada 5 minutos) y, si la IP ha cambiado, configure el túnel ssh inverso:
ssh -p 4321 -N -R 12345:localhost:22 reverse@home-ip
y puede conectarse al puerto local 12345 con ssh para conectarse a la PC de su oficina:
ssh -p 12345 officelogin@localhost