Это руководство посвящено установке и настройке хорошо известного и безопасного сервера VsFTPD (Very Secure File Transfer Protocol Daemon) в вашей системе Ubuntu. FTP или File Transfer Protocol - это распространенный сетевой протокол, который используется для передачи файлов между двумя компьютерами или для передачи файлов с вашего рабочего стола на ваш сайт или сервер хостинга. Эти файлы можно загружать и скачивать в зависимости от привилегий, которыми обладает пользователь на FTP-сервере.
Приведем пошаговое руководство по установке и настройке FTP-сервера в системе Ubuntu. Это самый базовый способ использования FTP, и как только вы освоите его, вы сможете перейти к более сложным операциям. Поскольку мы используем командную строку Ubuntu для нашего руководства, вы можете открыть ее либо через системный Dash, либо сочетанием клавиш Ctrl+alt+T.
Установка FTP-сервера
В этом процессе мы будем устанавливать VsFTPD-Very secure FTP Daemon на нашу систему Ubuntu. Утилита VsFTPD является более мощной и безопасной, чем родной FTP.
Шаг 1: Установка VsFTPD
Для того чтобы установить пакет VsFTPD через терминал, давайте сначала обновим наши репозитории с помощью следующей команды:
1 | sudo apt-get update |
Теперь самое время установить последний доступный бинарный пакет для VsFTPD с помощью следующей команды от имени root:
1 | sudo apt-get install vsftpd |
Система попросит вас ввести учетные данные пользователя, а также может предложить вам опцию Y/n для продолжения процесса установки. Пожалуйста, введите Y, чтобы продолжить.
После завершения установки вы можете убедиться в этом, проверив номер версии установленного пакета VsFTPD следующим образом:
1 | vsftpd -verions |
Приведенный выше результат показывает номер версии и подтверждает, что VsFTPD теперь установлен в вашей системе.
Шаг 2: Запустите службу VsFTPD
Когда вы устанавливаете VsFTPD, служба по умолчанию отключена. Давайте запустим службу с помощью следующей команды:
1 | sudo systemctl start vsftpd |
Вы также можете включить автоматический запуск службы при загрузке с помощью следующей команды:
1 | sudo systemctl enable vsftpd |
Конфигурация VsFTPD
После завершения установки, давайте теперь установим и настроим FTP на нашей системе Ubuntu.
Шаг 1: Откройте порт 20 и 21, если включен брандмауэр
Вы можете проверить статус вашего брандмауэра с помощью следующей команды:
1 | sudo ufw status |
Если брандмауэр включен и статус активен, вы можете открыть порты 20 и 21 с помощью следующей команды:
1 | sudo ufw allow 21/tcp |
Теперь, если вы снова просмотрите статус брандмауэра, вы увидите, что эти два порта открыты и разрешены:
Шаг 2: Настройте файл vsftpd.conf и включите SSL/TLS
Самым важным шагом в настройке FTP является внесение некоторых изменений в конфигурационный файл vsftpd. Но прежде чем вносить изменения в этот важный файл, давайте сделаем его резервную копию с помощью следующей команды:
1 | sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.orig |
Теперь откройте конфигурационный файл в вашем любимом текстовом редакторе. Мы используем редактор nano для редактирования этого файла:
1 | sudo nano /etc/vsftpd.conf |
Для того чтобы сделать самую базовую конфигурацию FTP, скопируйте следующие настройки в конец файла:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | listen=NO listen_ipv6=YES anonymous_enable=NO local_enable=YES write_enable=YES local_umask=022 dirmessage_enable=YES use_localtime=YES xferlog_enable=YES connect_from_port_20=YES chroot_local_user=YES secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd rsa_cert_file=/etc/ssl/certs/ssl-cert.pem rsa_private_key_file=/etc/ssl/ssl-cert.key ssl_enable=Yes pasv_enable=Yes pasv_min_port=10000 pasv_max_port=10100 allow_writeable_chroot=YES ssl_tlsv1=YES ssl_sslv2=NO ssl_sslv3=NO |
Выйдите и сохраните файл, нажав Ctrl+X, а затем нажмите enter.
Шаг 3: Создание SSL сертифката
Теперь вы можете создать самоподписанный ключ и пару сертификатов с помощью OpenSSL одной командой, набрав:
1 2 3 | sudo openssl req -x509 -nodes -days 365 \ -newkey rsa:2048 -keyout /etc/ssl/private/ssl-cert.key \ -out /etc/ssl/certs/ssl-cert.pem |
Заполните данные соответствующим образом. Все подсказки, данные будут выглядеть примерно так:
1 2 3 4 5 6 7 | Country Name (2 letter code) [XX]: RU State or Province Name (full name) []: Example Locality Name (eg, city) [Default City]: Example Organization Name (eg, company) [Default Company Ltd]: Example Inc Organizational Unit Name (eg, section) []: Example Dept Common Name (eg, your name or your server's hostname) []: <strong>[your_ip]</strong> Email Address []: webmaster@example.com |
Шаг 4: Перезапустите службу VsFTPD
После внесения изменений в файл vsftpd.conf необходимо перезапустить службу VsFTPD, чтобы эти изменения вступили в силу. Введите следующую команду от имени root, чтобы перезапустить службу:
1 | sudo systemctl restart vsftpd |
Шаг 5: Создание пользователя FTP
Теперь давайте создадим пользователя FTP, который сможет использовать FTP-сервер, с помощью этой команды:
1 | sudo useradd -m "username" |
Назначьте пароль для этого пользователя с помощью этой команды:
1 | sudo passwd "username" |
В этом примере мы создали пользователя с именем sampleuser и назначили ему пароль:
Давайте также создадим файл sample в домашнем каталоге нового пользователя. Этот файл позже будет использоваться при тестировании FTP-соединения:
1 | sudo bash -c "echo This is a sample file for FTP" > /home/[USER]/sampleFile |
Проверка FTP-соединения
Наконец, давайте протестируем наше FTP-соединение. Для проверки подключения у буду использовать WinSCP настроенный на FTP подключение
При первом подключении система покажет сертификат подключения, который мы генерировали ранее. Если все верно, то принимаем и идем далее.
Мы видим доступные нам файлы, которые создали ранее
Наш тестовый файл
Итак, мы представили самую простую и базовую процедуру установки и настройки FTP-сервера на вашей системе Ubuntu. Выполнив вышеупомянутые шаги, вы сможете получить доступ к FTP-серверу и загружать/выгружать оттуда файлы.