2014-04-23 111 views
4

我正在使用WinSCP为了使用FTP协议下载文件。WinSCP:服务器拒绝SFTP连接,但它侦听FTP

我在XML日志中得到了这个错误。任何想法?

Network error: Connection to "example.com" refused. The server rejected SFTP connection, but it listens for FTP connections.

Did you want to use FTP protocol instead of SFTP? Prefer using encryption.

回答

4

WinSCP默认使用SFTP协议,与大多数使用FTP协议的其他文件传输客户端相反。

因此,当您尝试使用默认的SFTP协议连接到没有SSH/SFTP服务(没有打开端口22)的服务器时,但它具有FTP服务(端口21打开),它表明你可能实际上想要使用FTP。

你需要明确选择在登录对话框中的FTP协议:
https://winscp.net/eng/docs/ui_login

有关详细信息:
https://winscp.net/eng/docs/message_server_rejected_sftp_listens_for_ftp

+2

我将其更改为FTP,然后出现错误:由于目标机器主动拒绝,无法建立连接。 连接失败。 –

+0

这是问答网站,不是论坛。如果您有问题,请发布。虽然[苏]会更好。 –

+0

我在Linux vm播放器机器上有同样的情况 - sshd正在运行,端口22是打开的(** systemctl status sshd **),从ip ifconfig **中取ip ....但仍看到“服务器拒绝SFTP连接,但它会侦听FTP连接。“ –

1

即使所有这些协议具有类似的名称,他们是不同的:

  • FTP - 文件传输协议RFC959
  • SFTP - “安全的文件传输”,这是通过SSH连接传输文件
  • SCP - “安全拷贝”,通过SSH进行文件传输
  • FTPS - “FTP安全”,使用SSL(非SSH)连接的原始FTP的扩展

因此,SFTP和SCP需要在对等体上有一个SSH服务器,而FTP/FTPS需要一个FTP(s)服务器。

WinSCP可能都是这些,但它只能在FTP服务器启用了SSL扩展的情况下才能执行FTPS。所以如果你想做FTPS(而不是SFTP),请检查你的服务器配置。

+0

伟大的答案。还要注意,如上所述,FTP通常运行在端口21上(有时端口20用于数据连接),SFTP和SCP通常在22上,而FTP/S通常在端口990上运行,用于隐式SSL,端口21运行在AUTH/Explicit SSL上。隐式/显式不同之处在于,在端口990上它暗示着连接是安全的并且握手立即发生。对于显式SSL,连接位于标准FTP端口上,并且握手发生的原因是来自客户端的AUTH SSL或AUTH TLS陈述。 – WebDrive