Я искал решение, которое позволяет перенести сеанс ssh с одного Linux-бокса на другой. Я предпочитаю решение с открытым исходным кодом или бесплатное решение, но я не могу найти даже коммерческое решение. Я подозреваю, что это невозможно, поскольку сеанс ssh тесно связан с tty, портом и т. д.
По сути, у меня есть настройка, которая использует haproxy с keepalived, который передает входящее ssh-подключение на один Linux-бокс в пуле Linux-боксов (хостов), при этом haproxy по-прежнему действует как обратный прокси-сервер/балансировщик нагрузки, что не позволяет напрямую подключаться от ssh-клиента к ssh-серверу (я где-то читал, что это возможно). Но в случае сбоя Linux-бокса нет возможности перенести ssh-сессии на указанный Linux-бокс на один из выживших.
Конечно, пользователь может попытаться переподключиться и получить новый сеанс SSH, но это не то, чего хотят наши пользователи.
Есть ли у кого-нибудь решение?
решение1
Может быть, просто может быть, вы можете сделать это с heartbeat на Linux. Это работает для других вещей... Я сделал это с NFS. Хотя это заставляет меня задуматься, не будет ли проблемы из-за шифрования, так как клиент переключится на другой демон, и, возможно, обе системы не будут доверять друг другу. Может быть, если это будет незашифрованный протокол, как rsh/rlogin.
Я написал документ давно, который объясняет некоторые настройки heartbeat, хотя документ связан с HA NFS. Может быть, вы сможете что-то из этого почерпнуть.
https://www.howtoforge.com/high-availability-nfs-with-drbd-plus-heartbeat
http://linux-ha.org/wiki/Heartbeat
Кто-то уже спрашивал об этом, и ответ был примерно таким же.