我可以通过 ssh 和 sftp 连接到我的服务器,但 ncftp 不起作用

我可以通过 ssh 和 sftp 连接到我的服务器,但 ncftp 不起作用

除了标题中提到的内容外,我还可以成功地通过 ncftp 连接到另一台服务器。但在服务器 A 上,我得到了这个

无法连接到 xxx.xxx.xxx.xxx -- 请稍后重试:连接超时。

无限期。这些是 Ubuntu 10.04,64 位服务器。我需要在服务器 A 上更改一些服务器端设置才能使其正常工作吗?(如果有人想知道,我需要 ncftp,因为它允许我上传带有子目录的目录,而使用 (s)ftp 显然没有办法做到这一点。)

答案1

ssh 和 sftp 都使用远程主机上的 ssh 守护程序进行连接,使用端口 22/tcp,而 FTP 是一个完全独立的协议/服务,使用其他端口。要允许 ncftp 工作,您必须确保远程服务器使用正确配置的 FTP 守护程序(例如 proftpd、vsftpd、ncftpd),并且没有防火墙策略阻止您连接的计算机或服务器上的传入/传出访问。

就你的情况而言,你可能想要使用scpssh 工具箱中的另一个实用程序。它允许你通过 ssh 递归复制目录。只需使用以下语法:

scp -r folder/ [email protected]:

它将以递归方式将名为的文件夹复制到上的folder用户帐户。在主机名后包含 : 很重要,这是 scp 希望看到它的方式,否则它将尝试将文件夹复制到源/本地计算机上名为的文件中。userremote.host[email protected]

当然,您也可以使用 scp 来复制单个文件。

答案2

听起来你没有在 Ubuntu 服务器上安装 FTP 服务器。尽管名称看起来很相似,但 SFTP 和 FTP 是两种不兼容的协议。如果你想使用 ncftp 连接到你的服务器,你需要在服务器上安装一个 FTP 服务器。apt-get install vsftpd将在 Ubuntu 上安装 vsftp 服务器。

答案3

sftp 本身并不是“ftp”,而是一个提供命令行 FTP 式界面的文件传输应用程序。ncftp 是一个“真正的”ftp 客户端,它使用 FTP 协议。您需要打开 ftp 服务。看一下这个区别:http://en.wikipedia.org/wiki/Secure_file_transfer_program

这是 Ubuntu 上关于 vsftpd 的文档:

https://help.ubuntu.com/10.04/serverguide/C/ftp-server.html

答案4

上次我检查时,ncftp 通过标准 ftp 协议进行通信。SFTP 默认通过 ssh 协议进行通信。

很可能机器上没有安装 FTP 服务器。您可能需要安装它,尽管我建议您尽可能坚持使用 sftp,因为 ftp 以明文方式传输数据。

相关内容