SFTP 无法工作,但 SSH 可以

SFTP 无法工作,但 SSH 可以

几个月来,我一直使用 CentOS 运行服务器。几天前,我无法通过 SFTP 连接到它。我尝试过从多台计算机、操作系统、客户端和互联网连接进行连接。但我可以正常使用 SSH。例如,Nautilus 给我以下信息:

Error: DBus error org.freedesktop.DBus.Error.NoReply:
Did not receive a reply. Possible causes include: the
remote application did not send a reply, the message bus
security policy blocked the reply, the reply timeout
expired, or the network connection was broken.
Please select another viewer and try again.

我以为 SFTP 就是纯粹的 SSH,如果其中一个能用,另一个也能用,反之亦然。但显然事实并非如此。我可能做错了什么?

答案1

只是添加这一点以防别人偶然发现这一点。

我遇到了类似的问题,SSH 可以运行,但 SFTP 却不运行。

这是OpenSSH FAQ 中的条目这有帮助。

2.9 – sftp/scp 连接失败,但 ssh 正常。

如果您的 shell 初始化(.profile、.bashrc、.cshrc 等)会产生非交互式会话的输出,则 sftp 和/或 scp 可能会在连接时失败。此输出会使 sftp/scp 客户端感到困惑。您可以通过执行以下命令来验证您的 shell 是否正在执行此操作:

ssh yourhost /usr/bin/true 如果上述命令产生任何输出,则需要修改 shell 初始化。

就我而言,我的 .bashrc 中有一些东西

我在命令末尾添加了以下内容以停止其输出。

> /dev/null 2>&1

答案2

如果 SSH 客户端正常连接到 SSH 服务器,则文件传输应该正常可用。看来问题出在您的 SFTP 客户端上。您可以尝试使用 scp(在 Linux 上)或 pscp(在 Windows 上为 putty scp)来测试文件传输并排除故障 :) 您也可以尝试使用 FileZilla 作为 SFTP 的 GUI 应用程序。

请注意,还有 FTPS 协议,即使用证书的 FTP(如 HTTPS)

相关内容