当我使用 WinSCP 将文件从 Solaris 计算机传输到 Windows 计算机时,我收到以下消息
收到太大(7367222 B)的 SFTP 数据包……
该错误通常是由启动脚本(如配置文件)打印的消息引起的,该消息可能以 Wbor 开头
请指教这个问题的根本原因是什么?
答案1
您只需单击一下帮助按钮远离https://winscp.net/eng/docs/message_large_packet
如果消息中的数字非常大,则问题通常是由某些配置文件/登录脚本打印的消息引起的。它违反了 SFTP 协议。其中一些脚本甚至在非交互式(无 TTY)会话中执行,因此它们无法打印任何内容(也不会要求用户输入任何内容)。
该数字表示从服务器读取的前四个字节。如果您的登录脚本正在打印单词,则这些将是转换为数字的前四个字符,而不是 SFTP 消息。
要修复此问题,请找出登录脚本中的哪个命令会打印文本。找到后,将命令移至适当的交互式脚本,或将其完全删除。脚本通常是隐藏的(其名称以点开头),位于服务器上的主目录中。通常,您需要将命令从 .bashrc 脚本移至 .bash_profile。
除了配置文件脚本之外,还有其他可能的消息来源 - 如果某些 SSH 服务器无法启动 SFTP 服务器或遇到致命错误,它们会打印消息。您应该联系您的服务器管理员。
另一种可能性是,服务器配置为仅允许 SCP 协议而不允许 SFTP 协议,这样 WinSCP 的 SCP 回退机制就不起作用了。解决方案是在登录对话框中明确选择 SCP 协议。