将ssh会话从一个Linux机器迁移到另一个作为故障转移

我一直在寻找一个解决scheme,允许一个SSH会话从一个Linux机器迁移到另一个。 我更喜欢开源或免费的解决scheme,但我甚至找不到商业解决scheme。 我怀疑这是不可能的,因为ssh会话与tty,port等密切相关。

基本上我有一个设置,利用haproxy与keepalived传入ssh连接到Linux箱(池主机)池中的一个Linux箱,haproxy仍然充当反向代理/负载均衡器,它不允许直接连接从SSH客户端的SSH服务器(我读其他地方这是可能的)。 但是,如果Linux盒子发生故障,则无法将所述Linux盒子上的ssh会话迁移到其中一个幸存者。

当然,用户可以尝试重新连接,并会得到一个新的SSH会话,但这不是我们的用户想要的。

有人有解决办法吗?

也许,也许你可以在Linux上用心跳做这个。 它适用于其他的东西…我已经用NFS做了。 虽然这让我怀疑是否会因encryption而出现问题,因为客户端会故障转移到不同的守护进程,也可能两个系统都不相互信任。 也许如果它是一个未encryption的协议,如rsh / rlogin。

我写了一个文档回来,解释了一些心跳设置,虽然该文件是相关的HA NFS。 也许你可以从中得到一些东西。

https://www.howtoforge.com/high-availability-nfs-with-drbd-plus-heartbeat

http://linux-ha.org/wiki/Heartbeat

之前有人问过这个问题,答案是一样的

故障转移/冗余SSH