昔日埋雷不经意,今朝踩雷排查难:JetBrains系列IDE使用SFTP连接远程服务器报“EOF while reading packet”解决方法
写在前面
这是一篇问题解决记录。希望能帮到遇到同样问题的读者。
强烈建议:请您先看解决步骤一节,如果您发现在下的问题和您的问题不一样,就可以及时离开本文,避免浪费时间。
正文
问题描述
在使用GoLand连接远程服务器时遇到了奇怪的问题:通过ssh连接是 successfully connected! 的,但通过SFTP连接就报 EOF while reading packet 错误。跟[1](在下的答案也更新到了这里)描述的情况一模一样。
相关环境如下:
- GoLand:2021.3
- 远程服务器:Ubuntu 20.04,非root账户(但在下可以登录root)
- 本地系统:Win10
解决过程
1. 网上最普遍的说法是更新密码(因为密码已过期)或者重启IDE。但这两种方法都不奏效。首先,在下的服务器密码过期时间是never(读者可以自行学习如何查看Linux账户的密码过期时间),并且在下更改了密码后仍然没有解决问题。其次,重启IDE毫无帮助。
2. 在下突发奇想,既然GoLang无法SFPT连接远程服务器,那我直接通过命令行连接呢?这样就能确定是GoLand的问题还是服务器的问题了。于是,在下打开PowerShell,键入命令 sftp -v -P 22 user_name@IP ,回车,提示输入密码,输入密码再回车,得到了报错 debug1: Exit status 127 Connection closed 。
3. 在Google上检索 linux sftp Connection closed 127 ,于是找到了[2][3][4]。至此,问题解决。
原因分析
1. 在下回想起来,之前在服务器上卸载重装过openssh,当时一通乱搞,很可能就是那个时候“活没干利索”,导致配置文件中sftp-server的路径出现了错误,雷就此埋下。
2. GoLand的报错只报了结果而没有报原因。Connection因为找不到命令(因为路径没有配置对,当然找不到了,退出码127就是“command not found”的意思)而closed了,所以当reading packet时,自然就EOF了。如果死磕“EOF while reading packet”,可能到现在都不能解决问题。
启发
格局要打开,思维要发散。当一条路走不通时,静下心来,想想能不能另辟蹊径,通过某种方法缩小问题排查范围或者找到问题本质。
解决步骤
- 在服务器上 whereis sftp-server ,找到sftp-server的路径,比如 /usr/libexec/sftp-server 。
- 打开ssh_config(多半位于 /etc/ssh/sshd_config ),找到 Subsystem sftp 开头的一句,看后面的内容。如果后面的内容与步骤1找到的路径不一样,那您的问题多半就能解决了;反之,本文帮不了您了。
- 将路径改成正确的路径,如 Subsystem sftp /usr/libexec/sftp-server ,保存文件。
- 重启sshd。(类似 /etc/init.d/sshd restart 这样的命令,同理,sshd的路径可以通过 whereis sshd 查出来)
- 重启IDE,重新连接,成功。(这一步不能省略)
参考:
[1] ftp - SFTP - "EOF while reading packet" error in PhpStorm, works fine in FileZilla - Stack Overflow
[2] SFTP无法连接,报“Connection closed by server with exitcode 127_weixin_39833509的博客-CSDN博客
[3] SFTP error using Cyberduck: EOF while reading packet | DigitalOcean
[4] centos - Can connect via SSH - but not via SFTP? Exit status 127 - Server Fault
写在后面
希望这篇文章能帮到遇到同样问题的读者。由于在下才疏学浅,能力有限,错误疏漏之处在所难免,望广大读者批评指正,您的批评是在下前进的不竭动力。
昔日埋雷不经意,今朝踩雷排查难:JetBrains系列IDE使用SFTP连接远程服务器报“EOF while reading packet”解决方法的更多相关文章
- JetBrains系列IDE快捷键大全(转载)
编辑 快捷键组合 说明 Ctrl + Space 代码自动完成提示(选择) Alt + Enter 显示意图动作和快速修复 Ctrl + P 参数信息 (在调用方法参数忘记的时候,提示) Ctrl + ...
- JetBrains系列IDE无法输入中文
1 问题描述 环境Linux+fcitx,JetBrains的IDE无法输入中文,包括IDEA,PyCharm,WebStorm,CLion等等. 2 解决方案 Linux下一般使用fcitx进入中文 ...
- 自搭建jetbrains系列ide授权服务器
1.下载 LicenseServer 地址:https://mega.nz/#!7B5UVY6b!Hae2ceTBPIrTowQN0sV9fQ5lGOKzGxas2ug02RZAdGU,里面有不同的服 ...
- JetBrains系列IDE创建文件模板
#coding:utf-8 ''' @version: python3.6 @author: '$USER' @license: Apache Licence @contact: steinven@q ...
- 搭建Jetbrains家族IDE授权服务器
虽然VS号称宇宙第一IDE但是也有不方便的地方,如果你也是C#码农我不得不向你推荐一个强大的插件ReSharper,他会是你的开发更加便捷,大大加快了开发的速度以及开发的乐趣.但是ReSharper并 ...
- [jetbrains系列] 外链第三方库+代码补全设置
jetbrains系列的IDE真的是太好用了,有种相见恨晚的感觉. 在开发过程中第三方库是必不可少的,在开发的时候如果有一个可以补全的IDE可以节省查文档的时间. 举个例子:给pycharm配pysp ...
- JetBRAINS 系列注册机
转载说明 本篇文章可能已经更新,最新文章请转:http://www.sollyu.com/1118/ 说明 这个是一国外的大牛写的一个 JetBRAINS 系列注册机,他里面包含了很多,我就不打字了. ...
- Linux(Manjaro) - IntelliJ IDEA (JetBrains) 字体模糊解决方法
Linux(Manjaro) - IntelliJ IDEA 字体模糊解决方法 解决方法非常简单, 只要安装 JetBrains 提供的 jre 即可 使用 Octopi 或者 pacman 安装名为 ...
- 正版phpstorm,webstorm,goland(Jetbrains系列都可以)免费激活步骤(图文详解)(亲测有效)
1 前言 Jetbrains系列都可以,包括webstrom,phpstorm,goland等. 附加其它方案如下: webstrom(注册机) goland(破解补丁) 2 步骤 1. 可以先试用, ...
随机推荐
- 【LeetCode】551. Student Attendance Record I 解题报告(Java & Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 正则表达式 统计 日期 题目地址:https://l ...
- King's Order(hdu5642)
King's Order Accepts: 381 Submissions: 1361 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: ...
- 使用.NET 6开发TodoList应用(9)——实现PUT请求
系列导航及源代码 使用.NET 6开发TodoList应用文章索引 需求 PUT请求本身其实可说的并不多,过程也和创建基本类似.在这篇文章中,重点是填上之前文章里留的一个坑,我们曾经给TodoItem ...
- mysql多条件过滤查询之mysq高级查询
一.什么是高级查询: ① 多条件的过滤查询 简单说,即拼接sql语句,在sql查询语句之后使用: where 条件1 and/or 条件2 and/or 条件3 - ② 分页查询 二.多条件过滤查询: ...
- idea解决springboot项目中log4j漏洞升级问题
最近阿里云团队发现log4j漏洞,危险级别:严重,相关资讯 https://m.sohu.com/coo/hsdt/506958086_355140 https://www.sohu.com/a/50 ...
- Java实习生常规技术面试题每日十题Java基础(六)
目录 1.在Java语言,怎么理解goto. 2.请描述一下Java 5有哪些新特性? 3.Java 6新特性有哪些. 4.Java 7 新特性有哪些. 5.Java 8 新特性有哪些. 6.描述Ja ...
- Spring企业级程序设计 • 【第1章 Spring之旅】
全部章节 >>>> 本章目录 1.1 Spring框架基础 1.1.1 Spring特点及体系结构 1.1.1 Spring的体系结构 1.1.2 使用Eclipse搭建 ...
- 新环境chart包helmlint校验
在iot目录内可以执行helm lint iot-api 去校验
- Windows下安装配置Maven
1.下载Maven 官方下载地址:http://maven.apache.org/download.cgi 目前Apache Maven最小版本为3.6.3, 下载适合Windows的安装包apach ...
- 终-Echart可视化学习(十二)
文档的源代码地址,需要的下载就可以了(访问密码:7567) https://url56.ctfile.com/f/34653256-527823386-04154f 进入官网寻找 里面可以搜素很多 这 ...