Chl*_*loe 8 ssh cygwin centos timeout sshd
当我的连接空闲一段时间后,远程主机关闭连接。我尝试键入一个新命令,它挂起,然后关闭连接。如何让 ssh 连接保持更长时间的活动状态?
$ ssh root@host.com
Last login: Tue Jan 3 03:09:39 2017 from c-99-99-99-99.hsd1.xx.comcast.net
[root@ip-172-99-99-99 ~]# groups
root bin daemon sys adm disk wheel
[root@ip-172-99-99-99 ~]# users
root root
[root@ip-172-99-99-99 ~]# less /etc/passwd
[root@ip-172-99-99-99 ~]# Connection reset by 52.99.99.99 port 22
Run Code Online (Sandbox Code Playgroud)
远程是 Amazon (AWS) 上的 CentOS,本地是 Cygwin。
ica*_*rus 13
因为您上次登录是从 comcast.net 登录的,所以我猜您是从一个home系统连接的,该系统位于正在执行 NAT 的路由器后面。执行 NAT 的系统存在的一个问题是知道何时不再需要连接。如果连接完全断开,则没有问题,但如果两台机器只是重新启动,则 NAT 盒没有信号表明发生了这种情况。因此,您的典型 NAT 盒具有计时器,它会显示“如果一个小时内没有流量,那么两个端点显然不会再发送任何内容”,因此会回收 NAT 占用的资源。
所以要做的就是每隔一段时间发送一些流量。假设您openssh在 cygwin 机器上使用实现,最简单的方法是启用 TCPKeepAlive。代替
ssh root@host.com
Run Code Online (Sandbox Code Playgroud)
和
ssh -o TCPKeepAlive=true root@host.com
Run Code Online (Sandbox Code Playgroud)
对于长期使用,您最好设置一个~/.ssh/config文件。
host fred
hostname host.com
user root
TCPKeepAlive=true
Run Code Online (Sandbox Code Playgroud)
然后你就可以说只是ssh fred用所需的选项连接到机器。
| 归档时间: |
|
| 查看次数: |
12091 次 |
| 最近记录: |