帮助文档
专业提供香港服务器、香港云服务器、香港高防服务器租用、香港云主机、台湾服务器、美国服务器、美国云服务器vps租用、韩国高防服务器租用、新加坡服务器、日本服务器租用 一站式全球网络解决方案提供商!专业运营维护IDC数据中心,提供高质量的服务器托管,服务器机房租用,服务器机柜租用,IDC机房机柜租用等服务,稳定、安全、高性能的云端计算服务,实时满足您的多样性业务需求。 香港大带宽稳定可靠,高级工程师提供基于服务器硬件、操作系统、网络、应用环境、安全的免费技术支持。
服务器资讯 / 香港服务器租用 / 香港VPS租用 / 香港云服务器 / 美国服务器租用 / 台湾服务器租用 / 日本服务器租用 / 官方公告 / 帮助文档
Linux技术,winSCP连接服务器超时故障解决方案
发布时间:2024-03-09 23:36:49   分类:帮助文档
Linux技术,winSCP连接服务器超时故障解决方案


知识改变命运,技术就是要分享,有问题随时联系,免费答疑,欢迎联系!


故障现象
使用 sftp 协议连接主机时, 明显感觉缓慢且卡顿,并且时常出现如下报错:


点击重新连接后,又有概率重新连接上; 总之在"连接上"和"连接超时"这2种情况中反复横跳(有时可以连续连接上,有时卡一会连上,有时直接超时)


故障排查过程
1.检查系统中是否存在错误日志, 使用命令 journalctl -p err 
由于是客户业务系统,以下输出省略了大量的敏感内容信息
[root@itmp ~]# journalctl -p err ...... 省略敏感信息 ...... 4月 22 11:04:37 itmp sshd[9696]: pam_systemd(sshd:session): Failed to release session: Interrupted system call 4月 22 11:11:29 itmp sshd[10226]: pam_systemd(sshd:session): Failed to release session: Interrupted system call
可以看到确实有 sshd 进程的相关报错,将该报错内容直接复制
在搜索引擎中搜索 "redhat kbase pam_systemd(sshd:session):Failed to release..."

找到一篇红帽知识库中的相关文档,链接:Logs similar to "pam_systemd(sshd:session): Failed to release session: Interrupted system call" seen - Red Hat Customer Portal
由于需要订阅账号权限才可查看内容,我将其内容截图如下:

文章中表示,该报错内容属于"信息性"不必引起恐慌; 至此可以判断不是这个报错信息引发的问题。

2.尝试使用其他报错信息进行搜索,即上图中 winSCP 客户端的报错信息 "无法初始化SFTP协议。主机是SFTP服务器吗?"
事实再次证明,中文搜索报错信息是极大的错误,我在此大概浪费了将近1个小时,毫无进展,所有中文搜索到的解决方案均无法解决问题;
尝试升级了 openssh-server尝试升级了 systemd尝试修改了 winSCP 客户端的连接配置尝试修改了 /usr/libexec/openssh/sftp-server 和 /usr/libexec/sftp-server 各种配置的组合
3.将上文报错信息翻译成英文继续搜索 "Cannot initialize SFTP protocol. Is the host running a SFTP server"
搜索引擎快速的把我带到了 Cannot initialize SFTP protocol. Is the host running a SFTP :: Support Forum :: WinSCP WinSCP 客户端的官方论坛。
该帖下面给出了解决方案:
在 /etc/ssh/sshd_config 配置文件中,修改相关条目为: 
[root@localhost ~]# vim /etc/ssh/sshd_config ForceCommand internal-sftp
通过阅读 man sshd_config 手册得知, ForceCommand 字段将会指定用户登录后所执行的命令(即: 该用户仅能通过 SFTP 登录系统,而无法执行 Bash,这不是我们想要的,但思路已经清晰了)  
将 internal-sftp 作为关键字,继续在 sshd_config 的 man 手册中进行搜索,可以看到  

以上我们得知,该参数用于配置ssh外部子系统,比如 文件传输守护进程,其实就是 sftp; 将其参数指定为 internal-sftp 即使用进程内的 sftp 服务器
修改 /etc/ssh/sshd_config 配置文件
[root@itmp ~]# vim /etc/ssh/sshd_config #Subsystem      sftp    /usr/libexec/openssh/sftp-server     # 原先的配置,将其注释 Subsystem       sftp    internal-sftp                        # 新配置,自己手动写上 [root@itmp ~]# systemctl restart sshd
验证效果
 WinSCP 连接不再超时,连接速度恢复到正常。
联系我们



香港云服务器租用推荐
服务器租用资讯
·广东云服务有限公司怎么样
·广东云服务器怎么样
·广东锐讯网络有限公司怎么样
·广东佛山的蜗牛怎么那么大
·广东单位电话主机号怎么填写
·管家婆 花生壳怎么用
·官网域名过期要怎么办
·官网邮箱一般怎么命名
·官网网站被篡改怎么办
服务器租用推荐
·美国服务器租用
·台湾服务器租用
·香港云服务器租用
·香港裸金属服务器
·香港高防服务器租用
·香港服务器租用特价