!Привет друзья! Сегодня я предлагаю вам альтернативу использованию 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 мы должны использовать рыба: // пользователь @ удаленный компьютер.
Надеемся, эта статья будет полезна на практике!
До следующего приключения, друзья!
Хорошая статья. Очень безопасный способ обмена файлами. Большое спасибо за объяснение. 🙂
Отличный
А не удобнее ли пользоваться sshfs?
Для нашей команды удаленная папка выглядела бы как еще одна папка с такими же характеристиками.
Привет Федерико, как всегда отличная статья. Я очень рад, что теперь могу читать ваши сообщения в Интернете.
Объятие,
Как
Насчет Якобо, ни с одним Федерико прямо не согласен. Эй, когда ты больше не вернешься в ubuntu, ты рисуешь человеческий зеленый цвет и полностью opensuse. Объятья. 😉
Вы делаете отличный вклад, так держать
Спасибо тысячу KZKG ^ Gaara, и спасибо ВСЕМ за ваш отзыв
Можно ли поместить пользователя в папку, отличную от / home / user /… ..?
Я хочу поместить пользователя в папку / media / hdd / ...
Мне нужно сделать это таким образом, поскольку сервер - это Raspberry Pi с Raspbian, и у него есть папка / home /… / на SD-карте, которая заполняется в кратчайшие сроки
Я пробовал это несколькими способами, и результатом на клиенте всегда была «сломанная труба», а результатом - фатальный сервер: неправильное владение или режимы для компонента каталога chroot «/ media / HDD /»
Большое спасибо всем,
Я думаю, вам придется сообщить системе, что домашняя папка этого пользователя - / home / HDD, если этот раздел имеет собственный формат Linux, то есть ext4; ext3; и т.п. Например, если пользователь jae - для краткости - вы должны выполнить что-то вроде этого:
: ~ # usermod –move-home –home / home / HDD jae
Также см. Man usermod. Ура
У меня проблема, или у меня есть служба в Amazon с публичным другом, и мне нужно войти через sftp, чтобы разместить или удалить файлы.
Я делал это раньше, и все в порядке, но сегодня он сделал со мной то, чего не случилось со мной
Внутри ami есть несколько папок, и одна из них - это связанный интернет-портал (страница для моих пользователей). Оказывается, там я провожу рекламные акции и рекламу для своих пользователей, и я постоянно вношу изменения и загружаю их через sftp (с winscp). root-права и корневой проход
Я дал chmod 777 для разрешения на запись, и все прошло хорошо
но сегодня при обновлении Интернета и загрузке index.html и других его файлов он дал мне имена, но не оставил мне байтов, то есть ноль (пустой), теперь вы ничего не видите в моем Интернете
Я закрыл сеанс и вошел снова, снова дал разрешения, сменил пользователя, обновил, попытался поместить другие файлы, сгенерировать новые, и он всегда делает то же самое
он дает мне файлы, но у них нет данных
Кто-нибудь может мне помочь ???
Я был бы очень признателен за ваши ответы
прежде всего, спасибо
Ув
Лик Ирвинг Эрнандес
Здравствуйте, как пользоваться filezilla, я уже видел несколько режимов и все еще не могу подключиться.
Это не правильно.
Добрый день,
Выполните процедуру, и клетка работает отлично, однако при попытке записи в папку «документы» или «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 это позволяет.
Я надеюсь, что ты сможешь мне помочь как можно скорее.
Привет.