Guión:
- En mi escritorio con la computadora portátil conectada a Ethernet y conectada al servidor remoto a través de SSH
- Desea mudarse al otro lado de la oficina con una computadora portátil y cambiar a WiFi sin interrumpir la conexión SSH
He intentado: conectarme a WiFi primero y luego desconectar ethernet; y también desconectando Ethernet primero y luego conectándose a WiFi. Ninguno de los enfoques funciona. También lo probé al usar servidores Ubuntu y OS X junto con ambas opciones de sistema operativo también para el cliente. Sin suerte.
Parece que necesito alguna forma de decirle a mi conexión SSH que debería comenzar a usar la interfaz de red recién conectada en lugar de la antigua interfaz desconectada. ¿Algunas ideas?
Me doy cuenta de que podría permanecer con WiFi todo el día, pero no quiero hacerlo. También me doy cuenta de que puedo trabajar desde una sesión de pantalla en el servidor remoto y luego volver a conectarme a esa sesión de pantalla después de cambiar las interfaces, pero tampoco quiero hacerlo. Por ejemplo, podría estar canalizando algún comando grande como un volcado de la base de datos sobre SSH o podría tener archivos abiertos a través de SSHFS, o podría simplemente querer evitar la molestia de volver a conectar
Respuestas:
Sospecho que esta solución no funcionará para SSHFS, etc., pero podría echar un vistazo a Mosh, que proporciona soporte de roaming al menos para el propio shell.
fuente
Me temo que no puedes hacer esto, por definición. Una sesión SSH se ejecuta a través de una conexión TCP, que se define por las cuatro tuplas (dirección de origen, puerto de origen, dirección de destino, puerto de destino). No puede cambiar la conexión existente a una dirección diferente en el cliente (aparte del hecho de que el sistema operativo cortará la conexión cuando la interfaz se caiga).
NAT puede complicar esta imagen, pero no de ninguna manera que pueda ayudarlo.
fuente
Hilo antiguo, lo sé, pero en aras de la integridad ya que estaba buscando lo mismo ...
En Windows 7 o posterior, simplemente debería poder seleccionar tanto su adaptador wifi como su adaptador Ethernet y elegir "Conexión de puente". Esto le dará una única dirección IP para ambos, y ahora podrá desconectar y volver a conectar Ethernet a voluntad (dada la cobertura wifi continua).
fuente
Lo manejo de dos maneras:
Inicie la sesión desde un servidor de terminal en su centro de datos (RDP / Windows / etc.)
O
Instale la pantalla GNU o tmux e inícielos después de iniciar sesión.
Prefiero
tmux
porquescreen
es bastante vieja escuela, pero si solo se te permite instalar paquetes compatibles,screen
está en el repositorio de RHEL.O
Haz ambos.
fuente
tmux
Es muy útil. Ejecutar cosas remotas dentrotmux
es un excelente hábito para entrar.No se puede hacer fácilmente.
Puedo señalarle una serie de aplicaciones muy costosas que le permiten mantener una sesión telnet o SSH cuando se mueve entre IP o AP, o incluso por períodos de desconexión de red por períodos prolongados, pero básicamente lo logran creando un servidor siempre abierto de sesión secundaria para la máquina del cliente para que el servidor no sepa que la conexión es diferente o se ha caído.
Supongo que podría codificar tal cosa, pero imagino que si fuera fácil de hacer, mis clientes no serían violados con costos de 5 cifras por mantener sus conexiones de terminal abiertas en escáneres inalámbricos de mano.
Sin embargo, tropecé con la pantalla, que dice crear sesiones SSH persistentes , que en realidad pueden funcionar ... inténtalo.
fuente
El problema es probablemente que su dirección IP de origen cambia cuando cambia entre cableada y wifi. Esto evitará que vuelvan las sesiones ssh.
Manejé esto en Linux conectándome a través de un VPN y asegurándome de que la conexión VPN siempre le dé la misma IP a su cuenta (no es difícil de aplicar, pero existe una gran posibilidad de que reciba la misma IP por VPN de todos modos si es disponible, pero mejor hacerla cumplir para estar seguro). Principalmente uso vtun, pero openvpn también está bien. Asegúrese de que sus conexiones pasen por el VPN (enrutamiento correcto, prefijos insertados, ...)
He podido estar desconectado del cable incluso durante 5 minutos y luego conectarme a wifi y seguir conectado a todas mis sesiones ssh. Ping en curso, mtr, htop, ... simplemente continúe cuando se restablezca el vpn como si nada hubiera pasado.
fuente
Intente estar solo en wifi cuando inicie la sesión ssh por primera vez. Luego, conecte su ethernet. Eso debería permitir que las nuevas conexiones pasen por el ethernet, pero la conexión establecida permanecerá en wifi. Al menos lo he visto funcionar así con OSX, por lo que el sistema operativo / hardware puede variar.
fuente
Estoy bastante seguro de que puede hacer esto con una cantidad tonta de pirateo con VM y Tunneling.
Esto no se ha probado, pero avíseme si realmente funciona.
ssh -L 10022:remote.server.example.com:22
ssh 192.168.56.3 -p 10022
Déjame saber si funciona.
fuente