品牌型号:联想ThinkPad X1
系统:Windows10家庭版
软件版本:SecureCRT 9.2.2
SecureCRT对后端开发和运维的从业者来说非常常用,只是在实际操作中,可能经常会遇到两种让人头疼的情况。例如只是去查个资料或者忙于其他工作,结果SecureCRT的连接就处于断开状态;又或是前一天的环境测试没问题,次日打开SecureCRT反复弹出无法连接的报错,导致无法连接远程服务器。这些情况不仅会影响工作效率,还会导致没有保存的调试数据丢失。其实连接频繁超时往往因为客户端和服务器之间的保活协议没有设置好,连接失败则是因为防火墙、网络服务等问题,接下来就给大家介绍一下SecureCRT连接超时该如何避免,SecureCRT 突然连接不上虚拟机怎么解决。
一、SecureCRT连接超时如何避免
SecureCRT连接超时并不是软件自身的BUG,而是因为底层网络机制或者是服务器安全策略,说白了就是为了节省资源主动切断了长时间没有交互的僵尸连接。
服务端通常会有个空闲检测,例如Linux服务器的SSH配置文件中通常会有ClientAliveInterval参数,如果服务器在这个参数指定的时间内没有收到来自客户端的请求响应,就会主动关闭连接。

有时候TCP协议栈默认保活时间过长也会导致连接超时,操作系统自带的TCP KeepAlive通常是2小时,这远远慢于防火墙5-30分钟的回收速度了。现在问题原因搞明白了,那么我们可以尝试着让SecureCRT模拟人工操作,不断地向服务器发送微小的信号来保活。
打开菜单栏中的Options下的Session Options中的Terminal,在右侧的Anti-idle部分选中Send protocol No-op发送协议空操作,时间设置为每30-60秒发送一次,这不仅不影响我们的终端显示还能刷新防火墙的超时时间。

二、SecureCRT突然连接不上虚拟机怎么解决
在使用SecureCRT连接不上虚拟机的时候,可能会遇到Connection timed out或者Connection refused的错误,这可能是因为网络链路中断、服务器停止或者是配置变更引起的,下面就来说说如何解决:
先检查下服务器当前是否正常运行,然后再去检查其他步骤。出现这种问题,一般不会是虚拟机内部造成,很可能是因为宿主机的虚拟化服务被安全软件禁用了,我们可以使用Win+R打开运行界面,然后输入services.msc查看VMware开头的所有服务,确保VMware NAT Service和VMware DHCP Service都处在正在运行的状态,如果显示是”停止“,右击启动即可。

如果服务正常开启,但是还是连不上虚拟机,我们可以检查下宿主机和虚拟机是否在同一个网段上,可以在虚拟机终端输入ip addr或者ifconfig查看ip地址是否发生了改变,在宿主机上使用ping命令测试下网络是否正常连通,如果ping得通但是连不上,说明网络是通的只不过SSH端口被封锁了。可以在虚拟机中输入systemctl status sshd,如果没有启动,可以运行systemctl start sshd启动下。

也有可能是因为防火墙拦截了22端口,我们可以临时关闭防火墙,如果关闭后能正常连上,再专门去配置防火墙的放行规则就行了。如果尝试了所有的办法依然无果,那么可能就是VMware的虚拟网卡驱动出现了问题,可以打开VMware的菜单栏编辑虚拟网络编辑器,在左下角点击还原默认设置。重置后,虚拟机会重新获取IP,要记得更新下SecureCRT中连接的IP地址。

以上就是SecureCRT连接超时如何避免,SecureCRT突然连接不上虚拟机怎么解决的全部内容了。SecureCRT连接超时,通常是服务器安全策略为节省资源,主动切断长时间无交互连接导致的,我们只需要在SecureCRT中开启反空闲功能,模拟发送数据到服务器确保连接活跃就可以了。如果我们SecureCRT连不上虚拟机,先检查下虚拟机上部署的服务器是否宕机,然后检查下IP是否能Ping通,如果ping不通,检查下SSH服务状态。实在没办法了,可以尝试重置下虚拟网络编辑器。
