NAT firewalls like to time out idle sessions to keep their state tables clean and their memory footprint low.
NAT防火墙喜欢对空闲的会话进行超时处理,以确保它们状态表的干净和内存的低占用率。
Some firewalls are nice, and let you idle for up to a day or so; some are gestapo and terminate your session after 5 minutes.
一些防火墙比较友好,允许你的空闲会话时间为一天甚至超过一天;另一些却如盖世太保,5分钟空闲就终止你的会话。
I finally got tired of my ssh sessions getting disconnected at places where I don't control the firewalls, and figured out how to stop it.
我最终疲于我的ssh连接会话被我不能控制的防火墙断开,并找出了阻止它的方案。
Turn out ssh has a nice inband keepalive mechanism, and even lets you set it on a per-destination basis.
结论是ssh内带有一个很好的保持会话存活机制,甚至允许你在每一台目标机器上设置。
Just create a ~/.ssh/config file with something like the following (* will match any host, if you wanted you could restrict this to particular destinations like *kehlet.cx):
只要用以下类似的内容创建一个 ~/.ssh/config文件(*号将匹配所有的主机,如果你想,你可以严格的设置它为特定的目标主机,像kehlet.cx):
----------------
Host *
ServerAliveInterval 240
----------------
That's how often, in seconds, ssh will send a keepalive request (at the application layer) to the other end if the connection's been otherwise idle. 4 minutes should be good :-).
这通常是以秒为单位,如果这个连接空闲,ssh将发送一个保持存活的请求(在应用层)给另一端。4分钟应该不错。
The Host line lets you pattern match your destinations. Minimal effort, no impact to your system (say, as you would have if you mucked with your system's default TCP keepalive settings), and it works like a charm.
Host行使你匹配你的目标主机。极小的努力,对你的系统毫无影响(即,如果你弄乱你的系统默认TCP保持存活时间设置的话,将影响你的系统),并且很有效。
相关推荐
众所周知,当我们通过ssh远程登录到另一台服务器之后,如果长时间不做操作,那么会被服务器自动登出,并且会告诉你timed out waiting for input: auto-logout。如果不通过tmux这些辅助工具来维持session的话,那么...
例如,对于SSH连接,可以考虑设置更短的超时时间以增强安全性。 - 在进行此类修改之前,建议备份原始的`/etc/profile`文件,以便在出现问题时能够轻松恢复。 #### 总结 通过上述步骤,你可以成功地在Linux系统中...
方案二:设置paramiko的执行命令等待超时时间,即在调用`exec_command`函数时指定`timeout`参数。例如: ``` stdin, stdout, stderr = self.client.exec_command(cmd, timeout=10, get_pty=True) ``` 这个方法同样有...
这个是比较通用、简单的方式,通过设置TMOUT,就可以至少对本地tty登录和远程使用ssh登录的用户起作用,但应该对图形化界面无效,当然进入图形化界面你再打开终端,对于打开的终端也是起作用的。 2.1. 实现方式 在/...
- `ip ssh time 120`:设置SSH会话超时时间为120秒。如果在指定时间内没有数据传输,则断开连接,以提高安全性。 ##### 4. 设置SSH认证方式 ```bash ra(config)#ip ssh authentication 4 ``` - `ip ssh ...
2. VTY配置:包括虚拟TTY线路设置、输入transporte设置、会话超时时间设置等。 3. SNMP配置:包括密码设置、社区字符串设置、主机绑定等。 4. 访问控制列表(ACL)配置:包括标准访问控制列表的创建、主机添加等。 ...
如果遇到问题,可以检查网络状况、服务器日志,或者调整SSH2框架的配置参数,如超时时间、重试次数等。同时,保持SSH2jar包的版本更新也是确保安全性和兼容性的关键。 总的来说,SSH2jar包为Java开发者提供了一种...
但是,如果命令的实际执行时间超过了设置的超时时间,这个方法也会失败。 这两种方法的问题在于,它们都无法完全解决Paramiko在等待命令完成时可能遇到的阻塞问题,尤其是当命令有大量输出或者需要长时间运行时。 ...
6. **可扩展性与配置**: 用户可以根据需要自定义配置文件,如设置默认端口、连接超时时间、会话缓存等。此外,Python-WebSSH还可以通过插件系统扩展其功能。 7. **部署与集成**: 可以将Python-WebSSH部署在各种Web...
- **Timeout**:设置超时时间,如果命令执行超过设定时间未返回,SSH Sampler将中断连接。 通过组合使用多个SSH Sampler,你可以构建复杂的测试计划,模拟多用户并发执行各种Linux命令,进行系统压力测试或自动化...
2. **Redis配置**:创建`redis.properties`文件,配置Redis服务器的连接信息,包括主机地址(redis.host)、端口号(redis.port)、默认数据库(redis.default.db)、超时时间(redis.timeout)、最大活动连接数...
9. **配置优化**:SSH2连接的性能可以通过调整各种配置参数进行优化,比如设置超时时间、缓冲区大小等。 通过这个SSH2实例demo,你可以学习如何初始化SSH2连接,建立通道,执行命令,以及进行文件传输。实践中,你...
- `LoginGraceTime 2m`:设置连接超时时间。 - `PermitRootLogin yes`:允许 root 用户登录。出于安全考虑,通常建议禁用此选项。 - `PasswordAuthentication yes`:启用密码认证方式。 - `PermitEmptyPasswords no`...
此外,还可以设置连接的超时时间、重连策略等。 3. SSH登录方法 SSH登录方法主要包括以下步骤: - 填写登录设备的IP地址和端口号。 - 选择SSH方式(如SSH-2)。 - 点击“Open”开始连接。 - 在登录窗口中填写...
例如,将超时时间设置为180秒,重试次数设为5次: ``` TEST-GSR12008(config)#ip ssh time-out 180 TEST-GSR12008(config)#ip ssh authentication-retries 5 ``` ### 3. 关闭SSH服务 若需要暂时禁用SSH服务,可...
- **基本参数**:设置最大连接数、超时时间、系统日志记录级别和加密方法。 - **网络参数**:可以自定义SSH连接的端口号,通常建议更改默认的22端口,以增加安全性。 - **密钥管理**:生成或更新服务器的用户加密...
3. **会话超时**:自动结束长时间未活动的会话,防止他人占用已登录的会话。 4. **访问控制**:通过防火墙和访问控制列表限制只允许特定IP地址或范围内的用户访问。 综上所述,网页版SSH源代码项目涉及到了SSH协议...
- **用户连接设置**: 配置SFTP用户连接的超时时间。 - **配置SFTP客户端**: - **指定源IP地址或接口**: 类似于SSH客户端配置。 - **建立连接**: 连接到SFTP服务器并进行文件操作。 - **SFTP配置举例**: - 包括...