SSH 问题 - 断开连接:接收不存在的通道 0 的数据

SSH 问题 - 断开连接:接收不存在的通道 0 的数据

下面的日志来自 SSHD 服务器,当时 SSH 客户端正在尝试连接。我确定我有正确的 ssh 密钥。我刚刚比较了两个 RHEL5 服务器。如图所示,这意味着服务器由于某种原因关闭了连接。但是有什么建议可以尝试解决问题并找到根本原因吗?

Jul 29 20:12:11 sshd[13259]: subsystem request for sftp
Jul 29 20:12:11 sshd[13259]: channel_by_id: 0: bad id: channel free
Jul 29 20:12:11 sshd[13259]: Disconnecting: Received data for nonexistent channel 0.

操作系统:RHEL 5.11,SSHD 服务:默认

答案1

该错误消息Disconnecting: Received data for nonexistent channel 0.可能是由不正确的 sshd 配置引起的。

检查该行Subsystem sftp /usr/lib/openssh/sftp-server(或类似内容)是否/etc/ssh/sshd_config指向正确的二进制文件。

造成错误的另一个原因可能是用户的system shell设置不正确。/etc/passwd来源

答案2

我收到此错误是因为服务器磁盘空间不足。删除一些大文件解决了这个问题,我能够再次将文件通过 SFTP 传输到服务器。

答案3

查看

/proc/sys/net/netfilter/nf_conntrack_tcp_timeout_time_wait

或者

/proc/sys/net/netfilter/nf_conntrack_tcp_timeout_close_wait

我正在寻找一种解决方案来减少服务器上的 XXX_WAIT 数量

[mihamina@RKTMB ~]$ sudo ss -taupen | grep WAIT
tcp    TIME-WAIT  0      0      127.0.0.1:3128               127.0.0.1:60036               timer:(timewait,15sec,0) ino:0 sk:ffff9bbf5ba65000
tcp    TIME-WAIT  0      0      127.0.0.1:3128               127.0.0.1:60024               timer:(timewait,1.420ms,0) ino:0 sk:ffff9bbee4aa2300
tcp    TIME-WAIT  0      0      127.0.0.1:59994              127.0.0.1:3128                timer:(timewait,54sec,0) ino:0 sk:ffff9bbf5ba64c00
tcp    TIME-WAIT  0      0      127.0.0.1:60028              127.0.0.1:3128                timer:(timewait,2.467ms,0) ino:0 sk:ffff9bbee4aa2600
tcp    TIME-WAIT  0      0      127.0.0.1:59946              127.0.0.1:3128                timer:(timewait,23sec,0) ino:0 sk:ffff9bbf5ba65900
tcp    TIME-WAIT  0      0      127.0.0.1:3128               127.0.0.1:60032               timer:(timewait,7.045ms,0) ino:0 sk:ffff9bbee4aa2800
tcp    TIME-WAIT  0      0      127.0.0.1:60030              127.0.0.1:3128                timer:(timewait,5.521ms,0) ino:0 sk:ffff9bbee4aa2a00
 ... # I have a Loooooottt

我发现https://www.lognormal.com/blog/2012/09/27/linux-tcpip-tuning/

但如果你仔细阅读,他们会警告数据包混乱......

答案4

接收到不存在的通道 0 winscp 的 SSH2_MSG_CHANNEL_DATA

发生问题是因为您正在参与提交文件的工作。一声问候。

相关内容