img

Руководство по установке SFTP сервера на Linux

Привет, друг! Мы подготовили удобную инструкцию по установке и настройке SFTP-сервера Linux.

Руководство по установке SFTP сервера на Linux

Что такое SFTP?

SFTP - это безопасный протокол передачи файлов - «Secure SHell» File Transfer Protocol. То есть это версия FTP, которая для безопасности поверх использует SSH. FTP делает то же самое, но без шифрования, поэтому использовать SFTP предпочтительнее.


Установка SFTP-сервера на Linux

Чтобы выполнить эти шаги, вам нужно иметь права sudo. SFTP прост в установке, но сначала необходимо установить OpenSSH со стороны сервера и SSH-пакет со стороны клиента.

Чтобы установить OpenSSH на сервер, используйте следующую команду:

sudo apt install openssh-server [Ubuntu/Debian]
sudo yum –y install openssh-server openssh-clients [CentOS/RHEL]

Вам также понадобится SSH на компьютере, с которого вы хотите получать доступ к серверу SFTP.

sudo apt install ssh [Ubuntu/Debian]

Теперь все готово для настройки SFTP.


Этап 1: Создание групп, пользователей, каталогов

Для безопасного использования SFTP, лучше всего создать группы и пользователей, которые будут использовать только эту службу.

Создадим группу с названием sftpg, при помощи комыды groupadd:

sudo groupadd sftpg

Далее создадим пользователя seenisftp, и добавим его в группу.

sudo useradd -g sftpg seenisftp 
sudo passwd seenisftp

В команде useradd параметр -g указывает группе, какого пользователя нужно добавить.

Предположим, что вы хотите использовать каталог /data/ в качестве корневого для sftp, а /data/USERNAME - для каждого пользователя. Поэтому, когда пользователи входят через sftp, они должны будут оказаться в каталоге /data/USERNAME. Также создадим ограничение при котором пользователи смогут читать файлы из этого каталога, но загружать их смогут только в каталог uploads.

Cоздадим каталоги и изменим их доступ:

sudo mkdir -p /data/seenisftp/upload
sudo chown -R root.sftpg /data/seenisftp
sudo chown -R seenisftp.sftpg /data/seenisftp/upload
Важно: убедитесь, что владелец /data/USERNAME и есть root, это обязательно для изменения корневого каталога в SFTP

Этап 2: Настройка sshd_config

Далее нужно настроить сервер так, чтобы когда пользователь, из группы sftpg, входил в систему, он попадал в sftp вместо обычной оболочки, в которую попадает через ssh. Добавьте следующий фрагмент кода в файл /etc/ssh/sshd_config:

Match Group sftpg
     ChrootDirectory /data/%u
     ForceCommand internal-sftp

ChrootDirectory позволяет создать необходимый каталог в качестве корневого узла (/ каталог) в дереве каталогов. Вошедший в систему пользователь не сможет увидеть ничего выше этого каталога и это не даст ему получить доступ к файлам других пользователей. %u - это escape код для заполнения его текущим именем пользователяm, во время входа в систему.


Этап 3: Перезагрузите службу

Чтобы выполнить внесенные в sshd_config изменения, перезапустите службу:

sudo systemctl restart sshd

Доступ к SFTP через командную строку Linux

Заходите в SFTP также как в SSH:

sftp seenisftp@merionet.ru

Примеры команд SFTP

Синтаксис команд SFTP:

COMMAND [SOURCE] [DESTINATION]

Параметрами могут быть либо локальные, либо удаленные системные пути.

  • GET - загрузка содержимого с удаленного сервера в локальную систему.
    GET poster.img ~/Pictures
  • PUT - загрузка содержимого из локальной системы в удалённую.
    PUT ~/Pictures/picture2.jpg uploads/
  • RM – предназначен для удаления файлов в удалённой системе.
    RM uploads/picture3.jpg
Ссылка
скопирована
Системное администрирование
Скидка 10%
Администратор Linux
Стань Linux администратором и сделай весомый шаг в сторону карьеры в DevOps. Самые важные знания от сертифицированного и практикующего тренера с 20 летним стажем
Получи бесплатный
вводный урок!
Пожалуйста, укажите корректный e-mail
отправили вводный урок на твой e-mail!
Получи все материалы в telegram и ускорь обучение!
img
Еще по теме:
img
Виртуализация серверов – это разделение одного физического сервера на несколько виртуальных серверов, каждый из которых работает
img
На базе нашего опыта и статей мы сделалем еще один полезный документ: руководство администратора по Linux/Unix системам. В докум
img
Удаленный доступ к системам давно стал необходимостью, и сейчас с трудом можно представить, что было бы, если бы мы не могли упр
img
Все мы любим компьютеры. Они могут делать столько удивительных вещей. За пару десятилетий компьютеры произвели самую настоящую р
img
Архитектуры х64 и х86 являются одними из наиболее широко используемых типов архитектур системы команд (АСК или ISA – Instr
img
Gzip – один из самых популярных алгоритмов сжатия, который позволяет сократить размер файла, но при этом сохранить исходный файл
Комментарии
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59