Amazon Linux 2 AMI — SFTP доступ

Все действия так же будет актуальны для CentOS систем. В данном примере будет добавлен пользователь для доступа через SFTP по SSH ключу в веб директорию под управлениям Apache. Есть дефолтная для Apache группа "apache", при необходимости замените на нужную.

Все сайты живут по пути:

/var/www/html

 

Добавляем пользователя sftpuser (уже в существующую группу):

useradd -g apache -d /var/www/html -s /sbin/nologin sftpuser

Дадим права группе на запись, так как будем менять владельца:

chmod -R g+w /var/www/html/*

Меняем владельца файлов:

chown -R sftpuser:apache /var/www/html/*

 

Сама директория "html" не должна принадлежать пользователю "sftpuser"

 

Создаем директорию для открытых ключей и задаем ей нужные права:

mkdir /var/www/html/.ssh
chmod 700 /var/www/html/.ssh

В этой директории создаем два файла и помещаем в них открытый SSH ключ:

authorized_keys
id_rsa.pub

Задаем нужные права на файл:

chmod 644 /var/www/html/.ssh/*

Делаем sftpuser пользователя владельцем:

chown -R sftpuser:apache /var/www/html/.ssh

 

Открываем файл настроек SSH сервера:

vim /etc/ssh/sshd_config

Заменяем строку:

Subsystem sftp	/usr/libexec/openssh/sftp-server

На следующую:

Subsystem sftp	internal-sftp

И в конец файла добавляем следующий блок:

Match Group apache
X11Forwarding no
AllowTcpForwarding no
ChrootDirectory %h
ForceCommand internal-sftp

 

Перезагружаем службу SSH:

service restart sshd

 

Подключаемся через SFTP клиент указав имя пользователя "sftpuser" и путь к приватному SSH ключу, на основе которого был сгенерирован открытый, порт для подключения - SSH порт (по умолчанию 22).

0 0 vote
Article Rating

Метки: Метки

Подписаться
Уведомление о
guest
0 Комментарий
Inline Feedbacks
View all comments