写在前面

这是一篇问题解决记录。希望能帮到遇到同样问题的读者。

强烈建议:请您先看解决步骤一节,如果您发现在下的问题和您的问题不一样,就可以及时离开本文,避免浪费时间。

正文

问题描述

在使用GoLand连接远程服务器时遇到了奇怪的问题:通过ssh连接是 successfully connected! 的,但通过SFTP连接就报 EOF while reading packet 错误。跟[1](在下的答案也更新到了这里)描述的情况一模一样。

相关环境如下:

  1. GoLand:2021.3
  2. 远程服务器:Ubuntu 20.04,非root账户(但在下可以登录root)
  3. 本地系统: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”,可能到现在都不能解决问题。

启发

格局要打开,思维要发散。当一条路走不通时,静下心来,想想能不能另辟蹊径,通过某种方法缩小问题排查范围或者找到问题本质。

解决步骤

  1. 在服务器上 whereis sftp-server ,找到sftp-server的路径,比如 /usr/libexec/sftp-server 。
  2. 打开ssh_config(多半位于 /etc/ssh/sshd_config ),找到 Subsystem sftp 开头的一句,看后面的内容。如果后面的内容与步骤1找到的路径不一样,那您的问题多半就能解决了;反之,本文帮不了您了。
  3. 将路径改成正确的路径,如 Subsystem sftp /usr/libexec/sftp-server ,保存文件。
  4. 重启sshd。(类似 /etc/init.d/sshd restart 这样的命令,同理,sshd的路径可以通过 whereis sshd 查出来)
  5. 重启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”解决方法的更多相关文章

  1. JetBrains系列IDE快捷键大全(转载)

    编辑 快捷键组合 说明 Ctrl + Space 代码自动完成提示(选择) Alt + Enter 显示意图动作和快速修复 Ctrl + P 参数信息 (在调用方法参数忘记的时候,提示) Ctrl + ...

  2. JetBrains系列IDE无法输入中文

    1 问题描述 环境Linux+fcitx,JetBrains的IDE无法输入中文,包括IDEA,PyCharm,WebStorm,CLion等等. 2 解决方案 Linux下一般使用fcitx进入中文 ...

  3. 自搭建jetbrains系列ide授权服务器

    1.下载 LicenseServer 地址:https://mega.nz/#!7B5UVY6b!Hae2ceTBPIrTowQN0sV9fQ5lGOKzGxas2ug02RZAdGU,里面有不同的服 ...

  4. JetBrains系列IDE创建文件模板

    #coding:utf-8 ''' @version: python3.6 @author: '$USER' @license: Apache Licence @contact: steinven@q ...

  5. 搭建Jetbrains家族IDE授权服务器

    虽然VS号称宇宙第一IDE但是也有不方便的地方,如果你也是C#码农我不得不向你推荐一个强大的插件ReSharper,他会是你的开发更加便捷,大大加快了开发的速度以及开发的乐趣.但是ReSharper并 ...

  6. [jetbrains系列] 外链第三方库+代码补全设置

    jetbrains系列的IDE真的是太好用了,有种相见恨晚的感觉. 在开发过程中第三方库是必不可少的,在开发的时候如果有一个可以补全的IDE可以节省查文档的时间. 举个例子:给pycharm配pysp ...

  7. JetBRAINS 系列注册机

    转载说明 本篇文章可能已经更新,最新文章请转:http://www.sollyu.com/1118/ 说明 这个是一国外的大牛写的一个 JetBRAINS 系列注册机,他里面包含了很多,我就不打字了. ...

  8. Linux(Manjaro) - IntelliJ IDEA (JetBrains) 字体模糊解决方法

    Linux(Manjaro) - IntelliJ IDEA 字体模糊解决方法 解决方法非常简单, 只要安装 JetBrains 提供的 jre 即可 使用 Octopi 或者 pacman 安装名为 ...

  9. 正版phpstorm,webstorm,goland(Jetbrains系列都可以)免费激活步骤(图文详解)(亲测有效)

    1 前言 Jetbrains系列都可以,包括webstrom,phpstorm,goland等. 附加其它方案如下: webstrom(注册机) goland(破解补丁) 2 步骤 1. 可以先试用, ...

随机推荐

  1. 【LeetCode】853. Car Fleet 解题报告(Python)

    [LeetCode]853. Car Fleet 解题报告(Python) 标签(空格分隔): LeetCode 作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxu ...

  2. leetcode5225最大相等频率

    题目 正整数数组nums,找到满足条件的最长前缀,返回其长度.该前缀满足:删除一个元素后,剩下的每个数字出现的次数相同. ps:如果删除后没有元素存在,也可以认为每个数字有相同的次数. 数组长度:[2 ...

  3. Cornfields(poj2019)

    Cornfields Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 6798   Accepted: 3315 Descri ...

  4. 【LeetCode】807. Max Increase to Keep City Skyline 解题报告(Python &C++)

    作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 目录 题目描述 题目大意 解题方法 日期 题目地址:https://leetcode.c ...

  5. Causal Intervention for Weakly-Supervised Semantic Segmentation

    目录 概 主要内容 普通的弱监督语义分割 因果模型 训练流程 代码 Zhang D., Zhang H., Tang J., Hua X. and Sun Q. Causal Intervention ...

  6. 由于ios由UIWebView换成了WKWebview内核后导致webview请求接口文件上传,后台接收不到文件

    2020年4月起App Store将不再接受使用UIWebView的新App上架.2020年12月起将不再接受使用UIWebView的App更新. 解决后台文件接收不到的问题 function GLA ...

  7. 什么是UE模型?

    书接上文:不知怎么选,用RFM模型看舔狗质量! 这里要注意一个问题,我这里是因为内部信息敏感,才抽象成舔狗,大家不要以为我真的在说舔狗...... UE模型即Unit Economics,是指单体经济 ...

  8. Ubuntu18.04编译Fuchsia

    编译环境 系统:Ubuntu 18.04.1 LTS 64-bit 内存:8 GiB CPU:Intel Core i5-4200M CPU @ 2.50GHz × 4 1.安装编译环境 sudo a ...

  9. linux中vim编辑器的翻页命令

    Linux jdk查看文件的最后一行         输入$回车 查看文件的第一行          输入0或者1回车 向前翻页                 Ctrl + f     f为forw ...

  10. Shell中 heredoc 内容转义

    1.在$符号前面加反斜杠,如: cat > test.sh <<EOF \$test EOF 如果不加,将转成实际的值. 2.给EOF加个双引号,如: cat > test.s ...