Настройка FTP сервера на Raspberry Pi
FTP (File Transfer Protocol) — это стандартный сетевой протокол для передачи файлов между клиентом и сервером по сети. Настройка FTP сервера на Raspberry Pi позволяет легко обмениваться файлами с другими устройствами в локальной сети. В этом руководстве мы установим и настроим vsftpd (Very Secure FTP Daemon) — популярный FTP сервер для Linux систем.
Настройка FTP сервера на Raspberry Pi
Описание/Введение: FTP (File Transfer Protocol) — это стандартный сетевой протокол для передачи файлов между клиентом и сервером по сети. Настройка FTP сервера на Raspberry Pi позволяет легко обмениваться файлами с другими устройствами в локальной сети. В этом руководстве мы установим и настроим vsftpd (Very Secure FTP Daemon) — популярный FTP сервер для Linux систем.
Установка vsftpd на Raspberry Pi
Начнем с установки FTP серверного программного обеспечения.
- Обновите список пакетов:
1
sudo apt update - Установите vsftpd:
1
sudo apt install vsftpd
- Запустите службу vsftpd:
1
sudo systemctl start vsftpd - Включите автоматический запуск при загрузке:
1
sudo systemctl enable vsftpd
Базовая настройка vsftpd
Настроим основные параметры FTP сервера.
- Создайте резервную копию конфигурационного файла:
1
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.backup - Откройте файл конфигурации для редактирования:
1
sudo nano /etc/vsftpd.conf - Найдите и измените следующие параметры:
1 2 3 4 5 6
# Разрешить локальный доступ local_enable=YES # Разрешить запись файлов write_enable=YES # Использовать локальное время вместо GMT use_localtime=YES
- Раскомментируйте строку с пассивным режимом:
1
pasv_enable=YES
Настройка пассивного режима
Для правильной работы за firewall настройте пассивный режим.
- Добавьте в конец файла конфигурации:
1 2 3 4
# Настройки пассивного режима pasv_min_port=40000 pasv_max_port=50000 pasv_address=ВАШ_IP_АДРЕС
- Замените
ВАШ_IP_АДРЕСна IP-адрес вашего Raspberry Pi.
Создание пользователя FTP
Создадим отдельного пользователя для доступа по FTP.
- Создайте нового пользователя:
1
sudo adduser ftpuser - Создайте директорию для FTP:
1
sudo mkdir /home/ftpuser/ftp - Установите правильные разрешения:
1 2
sudo chown nobody:nogroup /home/ftpuser/ftp sudo chmod a-w /home/ftpuser/ftp
- Создайте директорию для загрузки файлов:
1 2
sudo mkdir /home/ftpuser/ftp/files sudo chown ftpuser:ftpuser /home/ftpuser/ftp/files
Ограничение доступа пользователя
Ограничим пользователя его домашней директорией.
- Добавьте в конец файла
/etc/vsftpd.conf:1 2 3 4 5
# Ограничить пользователей их домашними директориями chroot_local_user=YES allow_writeable_chroot=YES user_sub_token=$USER local_root=/home/$USER/ftp
- Добавьте пользователя в список разрешенных:
1
echo "ftpuser" | sudo tee -a /etc/vsftpd.users
- Укажите файл с пользователями в конфигурации:
1 2 3
userlist_file=/etc/vsftpd.users userlist_enable=YES userlist_deny=NO
Настройка брандмауэра
Откройте необходимые порты в брандмауэре.
- Разрешите порт FTP (21):
1
sudo ufw allow 21/tcp - Разрешите диапазон портов для пассивного режима:
1
sudo ufw allow 40000:50000/tcp - Включите брандмауэр:
1
sudo ufw enable
Применение изменений конфигурации
Перезапустите службу для применения изменений.
- Перезапустите vsftpd:
1
sudo systemctl restart vsftpd - Проверьте статус службы:
1
sudo systemctl status vsftpd
Подключение к FTP серверу
Протестируем подключение с клиентского устройства.
Использование FileZilla (рекомендуется)
-
Установите FileZilla Client на ваш компьютер.
- Введите параметры подключения:
- Хост: IP-адрес вашего Raspberry Pi
- Имя пользователя: ftpuser
- Пароль: пароль, установленный для ftpuser
- Порт: 21
- Нажмите «Быстрое соединение».
Использование командной строки
- Подключитесь с помощью команды ftp:
1
ftp IP_АДРЕС_PI
- Введите имя пользователя и пароль когда появится запрос.
Дополнительные настройки безопасности
Улучшите безопасность вашего FTP сервера.
- Включите SSL/TLS шифрование в
/etc/vsftpd.conf:1 2 3 4
ssl_enable=YES allow_anon_ssl=NO force_local_data_ssl=YES force_local_logins_ssl=YES
- Запретите анонимный доступ:
1
anonymous_enable=NO
- Ограничьте количество одновременных подключений:
1 2
max_clients=10 max_per_ip=3
Проверка работы FTP сервера
Убедитесь, что сервер работает корректно.
-
Проверьте возможность загрузки файлов.
-
Проверьте возможность скачивания файлов.
-
Убедитесь, что пользователь ограничен своей домашней директорией.
Теперь ваш FTP сервер готов к использованию. Вы можете передавать файлы между Raspberry Pi и другими устройствами в вашей сети используя безопасное подключение.



