Передайте файли за допомогою SFTP та кліток на Debian та Ubuntu

!Привіт, друзі! Сьогодні я пропоную вам альтернативу використанню FTP-сервера для безпечної передачі файлів. Вже колега KZKG ^ Гаара опублікував один на основі пакету джейлкіт. Той, який ми розробимо, базується на пакетах, які у нас є більше під рукою у нашому сховищі.
Побачимо:

  • Введіть обов’язково
  • Як нам налаштувати Openssh-сервер?
  • Як ми створюємо користувачів?
  • Як ми модифікуємо домашні каталоги, щоб клітка працювала?

Введіть обов’язково
Нам часто потрібні файли для копіювання з віддалених комп’ютерів на нашу машину. Багато хто запитував мене про це. Як встановити FTP? Як встановити SAMBA? Що ж, переходимо від простого до складного. З самого початку, чому ускладнювати себе, якщо ми маємо OpenSSH-сервер встановлений?. А якщо у нас його немає, простою командою:

aptitude встановити openssh-сервер

Тепер у нас це є!, І тоді ми зможемо безпечно передавати файли за допомогою протоколу SFTP (Secure File Transfer Protocol), який використовує SSH (Secure Shell) для шифрування.

За замовчуванням користувачі з дозволом розпочати віддалений сеанс через ssh user @ моя команда, вони зможуть побачити майже всі файли, що зберігаються в нашій системі, що може не сподобатися нам, або що з міркувань безпеки ми не повинні цього дозволяти.

Ця стаття допоможе нам налаштувати OpenSSH-сервер щоб користувачі, яких ми хочемо, мали доступ до їх особистого каталогу / home / user. Ми уточнюємо, що, За допомогою цього методу заявлені користувачі не зможуть запустити віддалений сеанс через консоль ssh або через PuTTy. Вони зможуть переносити файли лише у свій персональний каталог на нашому комп’ютері чи сервері.

Описаний тут спосіб діє для версій Debian 5 (Lenny) або новішої та для версій Ubuntu 9.04 або новіших. Версія пакета SSH для Hardy або Ubuntu 8.04 дуже застаріла і не підтримує конфігурацію, яку ми опишемо нижче.

Як нам налаштувати Openssh-сервер?
Як користувач корінь редагуємо файл / etc / ssh / sshd_config за допомогою будь-якого простого текстового редактора. Ми рекомендуємо використовувати нано у консольному режимі.

nano / etc / ssh / sshd_config

Ми хочемо, щоб був присутній такий рядок:

Підсистема sftp

У Lenny and Squeeze є:

Підсистема sftp / usr / lib / openssh / sftp-server

Якщо він не існує, ми додаємо в кінці файлу:

Підсистема sftp internal-sftp

Продовжуємо редагування файлу sshd_config і додаємо в кінці:

Збіг групи group-sftp ChrootDirectory% h X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp

Ми зберігаємо зміни та перезапускаємо послугу:

/etc/init.d/ssh перезапустити

Як ми створюємо користувачів?
Спочатку ми створюємо «група»Що ми заявляємо в sshd_config. Будьте обережні з іменем, яке ми вибрали раніше, воно не буде таким, що воно вже існує і є групою, що належить Системі. Якщо ми не хочемо обмежувати існуючих користувачів у нашій системі, ми повинні створити нових користувачів, щоб вони могли передавати файли. Щоб клітка працювала, ми також повинні зробити їх членами відповідної групи.

addgroup group-sftp adduser user1 adduser user2 [----] usermod -G group-sftp user1 usermod -G group-sftp user2

Щоб перевірити створення групи та користувачів, ми можемо зробити:

менше / etc / password менше / etc / group ls -l / home

І повинні з’явитися користувачі користувач1 y користувач2а також групи group-sftp і ті, що відповідають створеним користувачам. Крім того, при переліку каталогу / Головна, з’являться домашні каталоги кожного створеного користувача.

Як ми модифікуємо домашні каталоги, щоб клітка працювала ефективно?
Ми повинні підвищити захист особистих папок кожного створеного користувача, щоб вони не могли створювати додаткові папки в своєму особистому каталозі та з дозволами на запис там, де ми хочемо (а не там, де вони хочуть) 🙂:

chown root: root / home / user1 / home / user2 chmod 755 / home / user1 / home / user2 cd / home / user1 mkdir documents html_public chown user1: user1 * cd / home / user2 mkdir documents html_public chown user2: user2 *

Користувачі, що належать до групи group-sftp, відтепер вони зможуть входити зі своїми іменами та паролями лише за допомогою SFTP, і вони зможуть передавати файли в та з каталогів, розташованих під їх особистою папкою та створених нами, але вони не будуть бачити решту нашої файлової системи.

Для передачі файлів і папок ми можемо використовувати Nautilus, Konqueror, WinSCP, FileZilla та інші, що підтримують протокол SFTP. У випадку з Konqueror ми повинні використовувати fish: // user @ remotecomputer.

Ми сподіваємось, що ця стаття буде корисна на практиці!
До наступної пригоди, друзі!

sftp_nautilus


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

  1. Відповідальний за дані: Мігель Анхель Гатон
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.

  1.   гексборг - сказав він

    Хороша стаття. Дуже безпечний спосіб обміну файлами. Велике спасибі за пояснення. 🙂

  2.   бліцкриг - сказав він

    Відмінно

  3.   Лоло - сказав він

    І чи не зручніше користуватися sshfs?

    Для нашої команди віддалена папка буде виглядати як ще одна папка з однаковими характеристиками.

  4.   Якобо Ідальго - сказав він

    Привіт Федеріко, як завжди відмінна стаття. Я дуже рада, що зараз можу читати ваші дописи з Інтернету.
    Обійми,
    як

    1.    dhunter - сказав він

      Як щодо Якобо, жоден Федеріко прямо не погоджується. Гей, коли ти більше не повертаєшся в ubuntu, ти фарбуєш людину в зелений колір і повністю використовуєш Обійми. 😉

  5.   KZKG ^ Гаара - сказав він

    Ви робите чудові внески, продовжуйте продовжувати 😀

    1.    Федеріко - сказав він

      Дякуємо тисячі крон ^ Гаара та Дякуємо ВСІМ за ваш відгук

  6.   jaenense - сказав він

    Чи може користувач потрапити в клітку в іншу папку, крім / home / user /… ..?

    Що я хочу, це встановити користувача в папку / media / hdd /…
    Мені потрібно зробити це таким чином, оскільки сервер - Raspberry Pi з Raspbian, і він має папку / home /… / на SD-карті, яка швидко заповниться.

    Я пробував це кількома способами, і результат у клієнті - це завжди «Зламана труба», а результат у серйозному сервері: погане володіння або режими для компоненту каталогу chroot «/ media / HDD /»

    Щиро дякую усім

    1.    Федеріко - сказав він

      Я думаю, вам доведеться повідомити системі, що домашньою папкою цього користувача є / home / HDD, доки цей розділ має власний формат Linux, тобто ext4; ext3; тощо Наприклад, якщо користувач jae -коротко - ви повинні виконати щось на зразок цього:

      : ~ # usermod –move-home –home / home / HDD jae

      Також див. Man usermod. Ура

  7.   Ірвінг Ернандес - сказав він

    У мене проблема, або у мене є послуга в Amazon з громадським другом, і мені потрібно ввести через sftp, щоб розмістити або видалити файли.
    Я робив це раніше, і все добре, але сьогодні він зробив зі мною щось, чого зі мною не траплялося
    Усередині ami є низка папок, і одна з них - це веб-портал для неволі (сторінка для моїх користувачів), виявляється, що там я роблю рекламу та рекламу для своїх користувачів, і я постійно вношу зміни та завантажую їх через sftp (з winscp права доступу та кореневий прохід
    Я дав chmod 777 для дозволів на запис, і все пройшло добре
    але сьогодні при оновленні Інтернету та завантаженні index.html та інших його файлів він дав мені імена, але у мене не залишилося байтів, тобто нуля (порожнього), тепер ви не бачите нічого в моєму Інтернеті
    Я закрив сесію і знову вступив, знову дав дозволи, змінив користувача, оновив, спробував вставити інші файли, створити нові, і він завжди робить те саме
    це дає мені файли, але вони не мають даних
    Хтось може мені допомогти ???
    Я б дуже вдячний за ваші відповіді
    перш за все, спасибі
    Ув
    Лік Ірвінг Ернандес

  8.   FCC - сказав він

    Привіт, як користуватися filezilla, я вже бачив це декількома способами, і досі не можу підключитися.
    Це неправильно.

  9.   Педро - сказав він

    Доброго дня,

    Виконайте процедуру, і клітка працює бездоганно, однак при спробі писати в папці «документи» або «html_publico» це дає мені відмову у доступі. Він має згадані дозволи і нічого, що дозволяє це.

    drwxr-xr-x. 2 користувач1 користувач1 4096 11 березня 13:16 документи
    drwxr-xr-x. 2 користувач2 користувач2 4096 11 березня 13:16 html_publico

    Результатом є відмова в доступі при спробі записати в будь-яку папку. Однак виконання отримання це дозволяє.

    Сподіваюсь, ви зможете мені якнайшвидше допомогти.

    Привіт.