Назад | Перейти на главную страницу

Я могу подключиться к серверу по ssh и sftp, но ncftp не работает

В дополнение к тому, что указано в названии, я также могу успешно использовать ncftp на другом сервере. Но на сервере A я получаю это

Не удалось подключиться к xxx.xxx.xxx.xxx - повторите попытку позже: время ожидания соединения истекло.

бесконечно. Это 64-битные серверы Ubuntu 10.04. Есть ли какие-то настройки на стороне сервера, которые мне нужно изменить на сервере A, чтобы заставить его работать? (И если кому-то интересно, мне нужен ncftp, потому что он позволяет мне загружать каталог с подкаталогами, тогда как с (s) ftp, очевидно, нет способа сделать это.)

И ssh, и sftp подключаются с помощью демона ssh на удаленном хосте, используя порт 22 / tcp, в то время как FTP - это полностью отдельный протокол / служба, использующая другой порт (и). Чтобы разрешить ncftp работать, вы должны убедиться, что удаленный сервер использует правильно настроенный демон FTP (например, proftpd, vsftpd, ncftpd) и что никакие политики брандмауэра не блокируют входящий / исходящий доступ на любом из компьютеров, с которого вы подключаетесь, или сервер.

В вашем случае вы, вероятно, захотите использовать scp, еще одна утилита в наборе инструментов ssh. Это позволяет вам рекурсивно копировать каталоги по ssh. Просто используйте этот синтаксис:

scp -r folder/ user@remote.host:

Он рекурсивно скопирует папку с именем folder в учетную запись пользователя user на remote.host. Важно включить: после имени хоста то, как scp ожидает его увидеть, иначе он попытается скопировать папку в файл с именем user@remote.host на исходном / локальном компьютере.

Вы также можете использовать scp для копирования отдельных файлов, конечно.

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

Похоже, на вашем сервере Ubuntu не установлен FTP-сервер. Несмотря на то, насколько они похожи по названию, SFTP и FTP - два несовместимых протокола. Вам нужно будет установить FTP-сервер на свой сервер, если вы хотите подключиться к нему с помощью ncftp. apt-get install vsftpd установит сервер vsftp на Ubuntu.

Последний раз я проверял, что ncftp общается через стандартный протокол ftp. SFTP по умолчанию передает vi по протоколу ssh.

Скорее всего, на машине не установлен FTP-сервер. Вам, вероятно, потребуется установить это, хотя я могу посоветовать вам просто придерживаться sftp, если вы можете с этим справиться, поскольку ftp передает данные через чистую.