如果我运行:
sftp -oServerAliveInterval=10 server-2
连接已建立。但将值从 10 增加(减少)到 1 后:
sftp -oServerAliveInterval=1 server-2
我无法连接:
Connecting to server-2...
Connection closed by 10.0.1.10
Couldn't read packet: Connection reset by peer
有什么想法吗?
添加-vvv:
debug1: SSH2_MSG_SERVICE_ACCEPT received
debug2: key: id_rsa (0xxxxxxxxxxx)
Connection to 10.0.1.10 timed out while waiting to read
Couldn't read packet: Connection reset by peer
答案1
但将值从 10 增加(减少)到 1 后:
sftp -oServerAliveInterval=1 server-2
设置ServerAliveInterval
为1
秒后,每次读取后都会启动计时器,如果没有其他数据,则会查询服务器以获取响应。如果定义数量的答案不会返回(ServerAliveCountMax
在这种情况下也很重要),则连接将关闭。
这也与 相关TCPKeepAlive
,它的作用基本相同,没有太多负担。仅当TCPKeepAlive
无效并且您看到大量连接中断时才应使用上述选项。
在你的问题中提到为什么你这样做也会有帮助。
答案2
解决了。由 Windows 计算机上运行的应用程序服务器的内部错误引起的问题