通过WinSCP连接到服务器时,出现“收到太大的SFTP包”错误

我尝试了不同的方法,并阅读了一些解决scheme,包括:
为什么我不能以root身份login?
用Winscp编辑
还有一篇来自Ubuntu论坛的文章

  1. 我不明白为什么当我通过PuTTY连接到ubuntu ,我可以拥有root权限并修改文件。 但是,当我通过WinSCP连接到ubuntu ,我是另一个用户(我在连接软件上使用了相同的用户名和相同的私钥(pem)),并且不能修改文件。

  2. 然后我从上面的链接find了一些可能的解决scheme。 我试图设置root密码和permitRootLogin 。 但是,当我用root用户名login时,它说:

    收到的太大(1349281121 B)SFTP数据包。 最大支持的数据包大小是1024000B。 错误通常是由启动脚本打印的消息(如.profile)。 该消息可能以“请求”开头。

    无法初始化SFTP协议。 主机是否运行SFTP服务器?

    而当我更改用户名回到ubuntu ,那么它的作品(但我不能修改文件,当我不是root用户)。

我很困惑,请任何人,如果你能指出我,我将不胜感激。

我相信你得到的错误消息解释了它。

您的服务器的root帐户错误地设置了configuration文件脚本。 其中一些打印违反SFTP协议的消息。 有一个terminal和非terminal会话有不同的configuration文件脚本(一个有和没有TTY分配)。 消息只能从用于terminal会话的脚本打印。 当您从用于非terminal会话的configuration文件脚本打印消息时,它会使用严格的协议(例如SFTP或SCP)中断任何客户端。

该消息以“Plea”开始,如错误所述。 它可以很容易地是一样微不足道的

 echo "Please be careful when using root account!" 

使用SSHterminal(如PuTTY)login时,会看到一条完整的消息。

通常,您需要将打印信息的命令从.bashrc脚本移动到.bash_profile

它适用于ubuntu帐户,因为它的configuration文件脚本不会打印错误消息。

有关错误消息“Received too large(… B)SFTP packet”, WinSCP文档, 最大支持的数据包大小是102400 B“ 。