Найти в Дзене
Вот и Linux за окном

0042.SFTP.Настраиваем.Строим маленький интернет.

Приветствую вас, Уважаемые Читатели! В нашем замечательном маленьком интернете уже есть старый добрый FTP. Теперь самое время вспомнить современные реалии, и установить уже рабочий сервис обмена файлами SFTP. Сервис этот является частью комплекта поставки OpenSSH, и уже готов к работе сразу после установки. Таким образом задача сводится к настройке пользовательского доступа. Предполагаю в процессе настройки выделить одного пользователя на сервере deb-lan4-ftp.lan4.loc. для контролируемого подключению к SFTP, а другим запретить такой доступ вовсе. Для начала создадим специального пользователя: sftp-user useradd sftp-user passwd sftp-user После создания пользователя нужно создать его домашний каталог, в который будет попадать это пользователь после подключения по sftp. Желательно, чтобы это был какой-то безопасный каталог, например/home/sftp-user. Важным шагом будет назначение привелегий для этого каталога. Для каталога, который будет использоваться для входа по sftp владелец может быть

Приветствую вас, Уважаемые Читатели!

В нашем замечательном маленьком интернете уже есть старый добрый FTP. Теперь самое время вспомнить современные реалии, и установить уже рабочий сервис обмена файлами SFTP. Сервис этот является частью комплекта поставки OpenSSH, и уже готов к работе сразу после установки.

Таким образом задача сводится к настройке пользовательского доступа. Предполагаю в процессе настройки выделить одного пользователя на сервере deb-lan4-ftp.lan4.loc. для контролируемого подключению к SFTP, а другим запретить такой доступ вовсе.

Для начала создадим специального пользователя: sftp-user

useradd sftp-user

passwd sftp-user

После создания пользователя нужно создать его домашний каталог, в который будет попадать это пользователь после подключения по sftp. Желательно, чтобы это был какой-то безопасный каталог, например/home/sftp-user. Важным шагом будет назначение привелегий для этого каталога. Для каталога, который будет использоваться для входа по sftp владелец может быть только root.

-2

Тут немного забежим вперёд. При настройке самого SFTP сервера в файле sshd_config мы будем использовать такую настройку как ChrootDirectory, которая указывает путь к директории выше которой не может подняться пользователь, который зашёл в сервис SFTP на этот сервер. Вот владелец этой директории должен быть root, в противном случае сеанс входа не включается. В данном случае мы настроили владельца директории root, группу владельца оставили sftp-user. Для того, чтобы можно было не только забирать файлы, но и выкладывать сделаем отдельную папку, владельцем которой как раз будет sftp-root.

-3

На всякий случай приведу команды установки привилегий для папок.

Всё выполнялось под root

mkdir /home/sftp-user

chown root:sftp-user /home/sftp-user

mkdir /home/sftp-user/write

chown sftp-user:sftp-user /home/sftp-user/write

Теперь перейдём к настройке собственно сервера.

Для этого допишем конфиг /etc/ssh/sshd_config таким образом

-4

Т.е. по конфигу получается что мы для данного сервера разрешаем вход по SFTP для пользователя sftp-user. Для всех остальных пользователей кроме sftp-user и root сервер будет выполнять команду exit. После сохранения файла конфигурации перезапускаем сервер SSH (или SFTP), и проверяем его статус

-5

Переходим на другой тестовый хост и пробуем подключение сначала рядового пользователя. Как и планировалось соединение не установилось.

-6

Пробуем подключиться под специально созданным пользователем sftp-user. Командой get забираем файл big-file.bin, переходим в директорию write, и командой put этот же файл выкладываем в папку загрузок. Потом проверяем что файл остался в домашней директории на целевом хосте.

-7

Теперь правда получилось, что никто не сможет подключиться по SSH к этом хосту кроме как sftp-user и root. И в случае возникновения какой-либо надобности придётся настраивать каждого пользователя отдельно. Но это не самая большая плата за безопасность.

На этом настройку сервера SFTP полагаю возможным завершить, и завершить статью

В канал MAX выложу полный конфиг SSH.

Благодарю всех Уважаемых Читателей, дочитавших до этого места.

Желаю всем удачи в начинаниях и продолжениях, до новых встреч!!!)

-8

PS

Статья не является учебным пособием, и представляет личный опыт автора.

Статья может содержать ошибки и не точности.

Приведённые данные необходимо проверять самостоятельно.

Текст написан автором лично без использования ИИ.

Картинка для превью статьи сгенерирована сетью Шедеврум, возможно с небольшими правками автора.

Канал MAX для всего того, что не поместилось на канал ДЗЕН.