尝试从服务器到服务器的 SFTP 时出现协议错误

尝试从服务器到服务器的 SFTP 时出现协议错误

我在尝试从一台服务器 SFTP 到另一台服务器时遇到了协议错误。我尝试在 Google 上搜索,但没有结果。请问有谁能帮我解决这个问题。

rel@kingfisher:/kingfisher_bft/hme/rel>  sftp [email protected]
Need basic cursor movement capability, using vt100
error: Could not open connection to `[email protected]': Protocol error

答案1

您用来通过 sftp 连接到远程计算机的计算机似乎缺少库。使用发行版网页ncurses安装它们或下载它们。apt-get install libncurses5

[ 从:http://ftp.vim.org/security/ssh/README.SSH2]

如果您的 sftp2 发出类似这样的抱怨:“需要使用 vt100 的基本光标移动功能”,则说明在运行 ./configure 时未找到包含 tgetent() 函数的库。如果您使用的是 Linux 系统,则可能是因为您没有安装 termcap-devel 或 ncurses-devel 软件包。如果您想删除该消息,和/或使用一些更奇特的终端功能,则应安装任一软件包。(查找这些软件包的好地方是您的发行版的网页。)

答案2

SFTP是SSH协议的一个子系统,有自己的协议,实际上有7个SFTP协议版本(从0到6),2个SSH协议版本(SSH-1和SSH-2)。

我上面看到的情况好像客户端和服务器无法协商通用协议,这可能是由于以下几个原因:

  • 客户端尝试与仅支持 SSH-1 的服务器建立 SSH-2 连接
  • 客户端尝试使用服务器不支持的 SFTP 协议版本
  • 不太可能:客户端尝试协商服务器不支持的加密/MAC 算法
  • 无论如何,我会在服务器端研究此问题的根本原因。

    相关内容