He estado buscando una solución que permita migrar una sesión ssh de una máquina Linux a otra. Prefiero una solución de código abierto o gratuita, pero tampoco puedo encontrar una solución comercial. Sospecho que esto no es posible porque una sesión ssh está estrechamente vinculada a tty, puerto y demás.
Básicamente, tengo una configuración que utiliza haproxy con keepalived que transfiere la conexión ssh entrante a una caja de Linux en un grupo de cajas de Linux (hosts) con haproxy todavía actuando como proxy inverso/equilibrador de carga que no permite la conexión directa desde ssh. cliente al servidor ssh (leí en otro lugar que esto es posible). Pero en caso de falla de una máquina Linux, no hay forma de migrar sesiones ssh en dicha máquina Linux a uno de los supervivientes.
Ciertamente, el usuario puede intentar volver a conectarse y obtener una nueva sesión ssh, pero esto no es lo que nuestros usuarios quieren.
¿Alguien tiene una solución?
Respuesta1
Quizás, solo quizás puedas hacer esto con Heartbeat en Linux. Funciona para otras cosas... Lo he hecho con NFS. Aunque me hace preguntarme si habría algún problema debido al cifrado, ya que el cliente conmutaría por error a un demonio diferente y tal vez ambos sistemas no confiarían entre sí. Quizás si fuera un protocolo no cifrado, como rsh/rlogin.
Escribí un documento hace mucho tiempo que explica parte de la configuración de los latidos, aunque el documento está relacionado con HA NFS. Quizás puedas sacar algo de ello.
https://www.howtoforge.com/high-availability-nfs-with-drbd-plus-heartbeat
http://linux-ha.org/wiki/Heartbeat
Alguien más preguntó esto antes y la respuesta fue más o menos la misma.