我必须使用 Fortigate 的 Windows 版 SSL VPN 客户端(版本 5.4.1.0840)连接到我们的公司网络。
这款软件最烦人的事情之一是,每当 VPN 客户端断开连接并重新连接到远程 VPN 网关时,它都会破坏我的所有 SSH 会话。由于我和数据中心之间的短暂连接问题,这种情况可能每天发生两三次。
尽管我的所有远程服务器都进行了以下配置sshd_config
:
TCPKeepAlive yes
ClientAliveInterval 300
ClientAliveCountMax 10
在我的 SSH 客户端中ssh_config
:
Host *
ServerAliveInterval 300
ServerAliveCountMax 10
每当 VPN 客户端短暂断开连接并立即自动重新连接时,我的 SSH 会话就会终止:
[email protected] ~
$ Connection reset by 1.2.3.4
@BUZZ2 ~
$
该 IP 地址1.2.3.4
是我通过 SSH 连接到的 Linux 服务器。
这是通过使用 PuTTY、Cygwin 和 Ubuntu bash(适用于 Linux 的 Windows 子系统)SSH 客户端来实现的。
如果我在这里针对本地服务器进行测试,然后拔掉以太网电缆或短暂断开 wifi,那么 SSH 客户端和服务器就能成功解决短暂的连接中断问题。我的连接并没有中断,只是这个 Fortigate VPN 客户端似乎完全破坏了我的会话。
仅供参考:远程 Fortigate 网关是运行固件 5.2.5 build 701 的 Fortigate 600C。
为了解决这个问题,我在远程服务器上使用了 tmux,这样当我重新连接时,我正在做的所有事情都不会被打乱。然而,当我同时进行十或十五个 SSH 会话时,通过 SSH 重新连接到服务器并重新连接到我的 tmux 会话确实是一项令人厌烦的练习。
这是不是只是这个特定 VPN 产品的性质,还是我可以在 VPN 客户端或 Fortigate 600 中更改配置设置,以防止它彻底破坏我的 SSH 连接?