Створення sftp-сервера на базі proftpd

Розміщення серверів в надійних дата-центрах Європи. Відкрийте хмарний VPS / VDS сервер на швидких SSD за 1 хвилину!

Кращий хостинг:
- захистить дані від несанкціонованого доступу в охоронюваному європейському ЦОДі






- прийме оплату хоч в bitcoin.
- дозволить поставити свій дистрибутив

- захист від DDos-атак
- безкоштовний backup
- Uptime 99,9999%
- ЦОД - TIER III
- провайдер - TIER I

Підтримаємо російською мовою 24/7/365 Працюємо з юрособами і фізособами. Вам прямо зараз потрібно 24 ядра і 72 Gb RAM. Будь ласка!

Наші вигідні тарифи доведуть, що дешевий хостинг ви ще не знали!

Хвилинна справа: виберіть конфігурацію, оплатіть і CMS на VPS готова.
Money Back - 30 днів!

Банківськими картами, електронною валютою, через термінали Qiwi, Webmoney, PayPal, Новоплат і ін.

Задайте питання в службу підтримки 24/7/365

Знайдіть відповіді в нашій базі і познайомтеся з рекомендаціями

Пропозиція від 8host.com

Створення sftp-сервера на базі proftpd

FTP (або File Transfer Protocol, протокол пересилки файлів) - це широко використовуваний спосіб обміну файлами між локальним і віддаленим сервером. Незважаючи на популярність FTP цей протокол використовувати не рекомендується, оскільки він не шифрує дані, а передає їх у вигляді простого тексту.

ProFTPd - це популярний FTP-сервер, який може використовувати протокол SFTP (secure FTP), безпечну альтернативу FTP. Це руковдство продемонструє настройку ProFTPd для використання цього протоколу.

Для виконання даного керівництва використовувався сервер Ubuntu 12.04, але воно актуально для більшості дистрибутивів.

установка ProFTPd

ProFTPd можна знайти в стандартному репозиторії Ubuntu. Для установки ProFTPd використовуйте:

sudo apt-get update sudo apt-get install proftpd

У вікні виберіть Stand Alone.

Після завершення установки потрібно змінити основні конфігураційні змінні. Відкрийте конфігураційний файл ProFTPd з привілеями root:

sudo nano /etc/proftpd/proftpd.conf

Збережіть і закрийте файл.

Налаштування ProFTPd для використання SFTP

Тепер можна приступити до налаштування сервісу для використання протоколу SFTP.

Стандартний файл шукає додаткові настройки в підкаталозі conf.d. Для того, щоб використовувати SFTP, створіть в цьому підкаталозі новий файл:

sudo nano /etc/proftpd/conf.d/sftp.conf

ProFTPd приймає конфігурації з тим же форматуванням, що і Apache. Отже, користувачі, що працюють з Apache, що не зустрінуть ніяких труднощів, іншим же буде нескладно розібратися.







Скопіюйте та вставте наступне в файл:


SFTPEngine on
Port 2222
SFTPLog /var/log/proftpd/sftp.log
# Configure both the RSA and DSA host keys, using the same host key
# Files that OpenSSH uses.
SFTPHostKey / etc / ssh / ssh_host_rsa_key
SFTPHostKey / etc / ssh / ssh_host_dsa_key
SFTPAuthMethods publickey
SFTPAuthorizedUserKeys file: / etc / proftpd / authorized_keys /% u
# Enable compression
SFTPCompression delayed

Розбір конфігурації SFTP

Щоб розібратися в змінах даного файлу, розглянемо всі його компоненти окремо.

Як бачите, весь вищенаведений блок коду узятий в теги IfModule, що забезпечує виконання даних опцій тільки в разі, якщо доступний SFTP-модуль.

  • SFTPEngine on. включає підтримку протоколу SFTP.
  • Port 2222. вказує порт, який буде приймати з'єднання SFTP. Оскільки порт 22 вже зайнятий SSH-з'єднаннями, потрібно задати інший порт.
  • SFTPLog. задає розташування лог-файлу, який буде створений.
  • SFTPHostKey. ці два рядки є ключами хоста SSH. Таким чином сервер може встановлювати зв'язок і взаємодіяти з клієнтами. У більшості випадків рядки, використані в даному прикладі коду, підійдуть.
  • SFTPAuthMethods. дана рядок говорить серверу приймати тільки з'єднання, виконані за допомогою ключів SSH.
  • SFTPAuthorizedUserKeys. цей параметр задає розташування ключів SFTP, які можуть бути використані для аутентифікації. При цьому частина% U замінює ім'я входить в систему користувача.
  • SFTPCompressiondelayed. цей параметр встановлює механізм стиснення файлів, який буде використовуватися під час передачі файлів.

Для початку створіть каталог для розміщення цих файлів:

sudo mkdir / etc / proftpd / authorized_keys

sudo ssh-keygen -e -f

username /.ssh/authorized_keys | sudo tee / etc / proftpd / authorized_keys / username

Якщо ж на сервері існує кілька облікових записів і потрібно розділити їх облікові дані, використовуйте відкритий ключ замість файлу authorized_keys:

sudo ssh-keygen -e -f /path/to/id_rsa.pub | sudo tee / etc / proftpd / authorized_keys / username_who_owns_key

Можна додати необхідну кількість ключів.

Після завершення, перезапустіть ProFTPd:

sudo service proftpd restart

Відключення доступу SFTP до порту SSH

Тепер, коли SFTP на базі ProFTPd налаштований, можна закрити йому доступ до порту SSH. Це запобіжить можливість користувачів управляти Proftpd, а також дозволить їм залишати свої домашні каталоги.

Відкрийте конфігураційний файл sshd:

sudo nano / etc / ssh / sshd_config

У нижній частині файлу знайдіть рядок, яка виглядає приблизно так:

Subsystem sftp / usr / lib / openssh / sftp-server

# Subsystem sftp / usr / lib / openssh / sftp-server

Збережіть і закрийте файл.

А після перезапуску SSH-сервер, щоб оновити налаштування.

sudo service ssh restart

Підключення з клієнта

Існує безліч доступних клієнтів FTP з підтримкою SFTP, які можна використовувати для підключення до сервера. Даний розділ покаже, як підключитися до сервера через клієнт FileZilla, доступний на всіх основних платформах.

Відкрийте з'єднання FileZilla (Connections в лівому меню) і знайдіть SFTP.

Натисніть на Add keyfile і перейдіть до місця розташування закритого ключа (як правило, це

Ймовірно, з'явиться повідомлення про те, що FileZilla перетворює його в підтримуваний формат; натисніть Ok.

У головному інтерфейсі введіть sftp: // доменное_імя_ілі_IP в поле Host. Вкажіть ім'я користувача в поле Username і номер порту в поле Port.затем натисніть Quickconnect, щоб клієнт FileZilla автоматично створив з'єднання за допомогою ключів SSH.

Тепер сервер може приймати SFTP-з'єднання, керовані ProFTPd.