Передача файлов с использованием SFTP и клеток в Debian и Ubuntu

!Привет друзья! Сегодня я предлагаю вам альтернативу использованию FTP-сервера для безопасной передачи файлов. Уже коллега КЗКГ ^ Гаара отправил один на основе пакета тюремщик. Тот, который мы разработаем, основан на тех пакетах, которых у нас больше под рукой в ​​нашем репозитории.
Посмотрим:

  • Введите обязательно
  • Как мы настраиваем Openssh-сервер?
  • Как мы создаем пользователей?
  • Как изменить домашние каталоги, чтобы клетка работала?

Введите обязательно
Нам часто нужно скопировать файлы с удаленных компьютеров на нашу машину. Многие меня об этом спрашивали. Могу ли я установить FTP? Как установить SAMBA? Что ж, перейдем от простого к сложному. Во-первых, зачем усложнять себе жизнь, если у нас есть OpenSSH-сервер установлены ?. А если у нас его нет, с помощью простой команды:

aptitude установить openssh-server

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

По умолчанию пользователи с разрешением запускать удаленный сеанс через пользователь ssh @ моя команда, они смогут видеть почти все файлы, хранящиеся в нашей системе, что может нам не понравиться или что из соображений безопасности мы не должны допускать этого.

Эта статья поможет нам настроить OpenSSH-сервер чтобы пользователи, которых мы хотели, были ограничены их личным каталогом / главная / пользователь. Мы поясняем, что С помощью этого метода заявленные пользователи не смогут запустить удаленный сеанс через консоль ssh или через PuTTy. Они смогут передавать файлы только в свой личный каталог на нашем компьютере или сервере или из него..

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

Как мы настраиваем Openssh-сервер?
Как пользователь корень редактируем файл / И т.д. / SSH / sshd_config с любым простым текстовым редактором. Мы рекомендуем использовать карликовый в консольном режиме.

нано / и т. д. / 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 / пароль меньше / etc / group ls -l / home

И пользователи должны появиться usuario1 y usuario2а также группы группа-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 *

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

Для передачи файлов и папок мы можем использовать Nautilus, Konqueror, WinSCP, FileZilla и другие, поддерживающие протокол SFTP. В случае Konqueror мы должны использовать рыба: // пользователь @ удаленный компьютер.

Надеемся, эта статья будет полезна на практике!
До следующего приключения, друзья!

sftp_nautilus


Оставьте свой комментарий

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

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   гексборг сказал

    Хорошая статья. Очень безопасный способ обмена файлами. Большое спасибо за объяснение. 🙂

  2.   блицкриг сказал

    Отличный

  3.   Лоло сказал

    А не удобнее ли пользоваться sshfs?

    Для нашей команды удаленная папка выглядела бы как еще одна папка с такими же характеристиками.

  4.   Якобо Идальго сказал

    Привет Федерико, как всегда отличная статья. Я очень рад, что теперь могу читать ваши сообщения в Интернете.
    Объятие,
    Как

    1.    Данхантер сказал

      Насчет Якобо, ни с одним Федерико прямо не согласен. Эй, когда ты больше не вернешься в ubuntu, ты рисуешь человеческий зеленый цвет и полностью opensuse. Объятья. 😉

  5.   КЗКГ ^ Гаара сказал

    Вы делаете отличный вклад, так держать

    1.    Federico сказал

      Спасибо тысячу KZKG ^ Gaara, и спасибо ВСЕМ за ваш отзыв

  6.   Jaenense сказал

    Можно ли поместить пользователя в папку, отличную от / home / user /… ..?

    Я хочу поместить пользователя в папку / media / hdd / ...
    Мне нужно сделать это таким образом, поскольку сервер - это Raspberry Pi с Raspbian, и у него есть папка / home /… / на SD-карте, которая заполняется в кратчайшие сроки

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

    Большое спасибо всем,

    1.    Federico сказал

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

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

      Также см. Man usermod. Ура

  7.   Ирвинг Эрнандес сказал

    У меня проблема, или у меня есть служба в Amazon с публичным другом, и мне нужно войти через sftp, чтобы разместить или удалить файлы.
    Я делал это раньше, и все в порядке, но сегодня он сделал со мной то, чего не случилось со мной
    Внутри ami есть несколько папок, и одна из них - это связанный интернет-портал (страница для моих пользователей). Оказывается, там я провожу рекламные акции и рекламу для своих пользователей, и я постоянно вношу изменения и загружаю их через sftp (с winscp). root-права и корневой проход
    Я дал chmod 777 для разрешения на запись, и все прошло хорошо
    но сегодня при обновлении Интернета и загрузке index.html и других его файлов он дал мне имена, но не оставил мне байтов, то есть ноль (пустой), теперь вы ничего не видите в моем Интернете
    Я закрыл сеанс и вошел снова, снова дал разрешения, сменил пользователя, обновил, попытался поместить другие файлы, сгенерировать новые, и он всегда делает то же самое
    он дает мне файлы, но у них нет данных
    Кто-нибудь может мне помочь ???
    Я был бы очень признателен за ваши ответы
    прежде всего, спасибо
    Ув
    Лик Ирвинг Эрнандес

  8.   FCC сказал

    Здравствуйте, как пользоваться filezilla, я уже видел несколько режимов и все еще не могу подключиться.
    Это не правильно.

  9.   Педру сказал

    Добрый день,

    Выполните процедуру, и клетка работает отлично, однако при попытке записи в папку «документы» или «html_publico» мне отказано в доступе. У него есть упомянутые разрешения и ничего, что позволяет это.

    drwxr-xr-x. 2 user1 user1 4096 11 марта 13:16 документы
    drwxr-xr-x. 2 user2 user2 4096 11 марта 13:16 html_publico

    Результат - отказано в доступе при попытке записи в любую папку. Однако выполнение get это позволяет.

    Я надеюсь, что ты сможешь мне помочь как можно скорее.

    Привет.