Попытка установить vsftpd на Ubuntu 16.04

2

Я пытаюсь установить FTP-сервер (vsftpd) на свой сервер Ubuntu 16.04 от Scaleway .

Я сделал следующее:

sudo apt-get update
sudo apt-get install vsftpd
sudo service vsftpd status

Я получаю следующий результат:

● vsftpd.service - vsftpd FTP server
   Loaded: loaded (/lib/systemd/system/vsftpd.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Fri 2018-08-31 22:26:53 CEST; 10min ago
  Process: 10161 ExecStart=/usr/sbin/vsftpd /etc/vsftpd.conf (code=exited, status=2)
  Process: 10157 ExecStartPre=/bin/mkdir -p /var/run/vsftpd/empty (code=exited, status=0/SUCCESS)
 Main PID: 10161 (code=exited, status=2)

Aug 31 22:26:53 scw-24e1a0 systemd[1]: Starting vsftpd FTP server...
Aug 31 22:26:53 scw-24e1a0 systemd[1]: Started vsftpd FTP server.
Aug 31 22:26:53 scw-24e1a0 systemd[1]: vsftpd.service: Main process exited, code=exited, status=2/INVALIDARGUMENT
Aug 31 22:26:53 scw-24e1a0 systemd[1]: vsftpd.service: Unit entered failed state.
Aug 31 22:26:53 scw-24e1a0 systemd[1]: vsftpd.service: Failed with result 'exit-code'.

В чем может быть проблема этого?

nielsv
источник

Ответы:

2

Если вы не трогали /etc/vsftpd.conf, причина этого состояния отказа должна заключаться в том, что другая служба уже прослушивает порт FTP по умолчанию - 21. Я провел эксперимент и получил тот же статус, что и ваш. Вы можете выяснить, что это за другой сервис, с помощью любой из команд:

sudo lsof -i -n -P | grep ':21'
sudo netstat -peanut | grep ':21'

Попробуйте sudo systemctl stop <that another>.serviceи sudo systemctl start vsftpd.service, затем проверить состояние снова: sudo systemctl status vsftpd.service.

Другой способ решить эту проблему - изменить порт, который прослушивает один из этих сервисов. Например, вы можете сделать это vsftpd, добавив следующую директиву /etc/vsftpd.conf- reference :

listen_port=2121

Затем вы должны указать FTP-клиенту подключаться через порт 2121вместо порта по умолчанию. В большинстве случаев вам просто нужно добавить :<port-number>в конце целевой IP-адрес / FQDN. Например, если вы используете Nautilus в качестве FTP-клиента:

введите описание изображения здесь

Дополнительные примечания:

Я не знаю, насколько это безопасно vsftpна практике, но если у вас нет особой необходимости использовать эту службу, вы можете использовать ее, sftpкоторая проходит через зашифрованное соединение SSH и использует аутентификацию на основе ключей, если она была предварительно настроена. Кроме того, вам не нужно открывать дополнительные порты в брандмауэре.

Конечно, если у вас есть SSH-доступ к экземпляру Ubuntu, sftpон уже доступен, если вы его не отключили! Вот несколько ссылок, связанных с этим:

pa4080
источник
0

Если в вашем выводе указано состояние code=exited, status=2/INVALIDARGUMENT, это означает, что вы /etc/vsftpd.confневерно.

Отредактировал свой /etc/vsftpd.confи добавил очередь:

от listen=YESдоlisten=NO

и затем перезапустите свой сервис.

Это работает для меня.

Абу-Ахмед Аль-Хатири
источник