Налаштування SFTP-сервера Ubuntu - безпечна передача файлів SSH
Встановіть OpenSSH на Ubuntu, створіть користувача передачі та почніть приймати зашифровані SFTP-з’єднання на порту 22 — чистий крок за кроком із перевірками безпеки, які пропускають більшість посібників.
📑Розділи
- Що таке SFTP — передача файлів, яка проходить через SSH, зашифрована наскрізно
- Установіть серверний пакет OpenSSH на Ubuntu
- Запустіть службу ssh і витримайте її після перезавантаження
- Підтвердьте рядок підсистеми SFTP у sshd_config
- Створіть виділеного користувача для передачі — ніколи не входьте під обліковий запис адміністратора
- Відкрийте брандмауер для SSH
- Підключіться з другого комп’ютера та передайте перший файл
- Перевірки безпеки перед реальним використанням сервера
📋 Огляд і покроковий посібник
Встановіть серверний пакет OpenSSH
SFTP — це передача файлів, яка відбувається всередині SSH, тому кожен пароль і кожен файл зашифровані наскрізь. В Ubuntu це не окремий продукт, за яким ви шукаєте — це невелика частина сервера OpenSSH. Ubuntu постачається з клієнтом SSH, але сторона сервера є окремим пакетом. Встановіть його:
sudo apt update
sudo apt install openssh-server
Спочатку запустіть sudo apt update, щоб список пакунків був свіжим, а потім установіть і підтвердьте Y. Інсталятор створює конфігурацію в /etc/ssh/sshd_config і автоматично генерує ключі хосту цієї машини. Це справді все програмне забезпечення, яке існує — SFTP є підсистемою цієї служби, а не додатковим завантаженням, і він відповідає на стандартний порт SSH 22.
Запустіть службу та витримайте її після перезавантаження
Зазвичай пакет запускає службу сам. Доведіть це та переконайтеся, що він повертається після відключення електроенергії:
sudo systemctl status ssh
sudo systemctl enable ssh
sudo systemctl start ssh
sudo systemctl status ssh має показувати зелений рядок active (running) — це означає, що сервер SFTP уже прослуховує. sudo systemctl enable ssh запускає його під час кожного завантаження, і якщо він зупиняється, sudo systemctl start ssh повертає його назад. Після будь-якої зміни конфігурації пізніше sudo systemctl restart ssh є командою, яка застосовує її.
ssh, а не sshd. Використання неправильної назви є найпоширенішою причиною, через яку правильний посібник не вдається.Підтвердьте рядок підсистеми SFTP
Відкрийте конфігурацію один раз і просто подивіться на неї:
sudo nano /etc/ssh/sshd_config
Унизу ви повинні знайти цей рядок, який Ubuntu містить за замовчуванням:
Subsystem sftp /usr/lib/openssh/sftp-server
Якщо рядок відсутній, додайте його точно так, як показано — без нього вхід через SSH працює, але передача файлів відмовляється. Залиште поки все інше; Зміни посилення у цьому файлі вносяться по одному параметру за раз, спеціально.
Створіть виділеного користувача для передачі
Ніколи не роздавайте власний логін адміністратора для передачі файлів. Створіть обліковий запис, який існує лише для переміщення файлів:
sudo adduser sftpuser
Встановіть його пароль, коли буде запропоновано, і пропустіть запитання щодо імені та телефону, натиснувши Enter — вони необов’язкові. Цей користувач отримує домашню папку за адресою /home/sftpuser і більше нічого.
Відкрийте брандмауер
Якщо UFW активний на сервері, порт 22 потребує явного проходу, перш ніж будь-який клієнт зможе отримати доступ до служби:
sudo ufw allow OpenSSH
sudo ufw status
Профіль OpenSSH відкриває саме порт 22 — єдиний порт, який забезпечує як вхід через SSH, так і передачу SFTP. Перед тестуванням на іншій машині переконайтеся, що правило вказано у вихідних даних про стан.
Підключіть і передайте перший файл
З іншого комп’ютера в тій же мережі підключіться до користувача передачі. Замініть адресу справжньою IP-адресою вашого сервера — запустіть ip a на сервері, щоб побачити її:
sftp [email protected]
У сеансі put завантажує файл, get завантажує його, а exit залишає. У Windows і WinSCP, і FileZilla використовують SFTP і підключаються лише за допомогою адреси, порту 22, імені користувача та пароля.
yes лише тоді, коли ви довіряєте цьому відбитку пальця — це перевірка, яка доводить, що ви потрапили на свій власний сервер, а не на шахрая. І поки що залиште цей сервер у локальній мережі: розмістити його в Інтернеті – це інше рішення, яке потребує входу з ключем замість паролів і захисту, як-от fail2ban. Не пересилайте порт маршрутизатора, доки це зміцнення не буде виконано.Зараз ваш сервер працює. Швидка інсталяція дає вам робочий сервер, а не готовий — вхід із паролем у відкритому Інтернеті, користувачі, які можуть бачити весь диск, і відсутність записів входу — це три прогалини, які потрібно закрити наступним, один за іншим.
🏷️Змінні та ключові слова пошуку тем
🎙️ Повна транскрипція — торкніться, щоб розгорнути
__TOK_31__
__TOK_32__
__TOK_33__
❓ Часті запитання (англійською)
Чи на 100% безкоштовний цей посібник?
__TOK_34__
Чи можуть новачки дотримуватися цього посібника?
__TOK_35__
Де я можу поставити запитання, якщо я застряг?
__TOK_36__