Как настроить proftpd для подключения sshfs по ключам?
Если решите как-то реализовать написанное, то все действия вы производите на свой страх и риск!
Бывает возникают ситуации, что необходимо настроить proftpd только к определенной области каталогов пользователю для sshfs по ключам. Основную настройку proftpd не будет описавать, т.к. она стандартная. Отмечу только некоторые моменты:
0. Некоторые моменты:
Пример chroot-папки для конкретного пользователя
DefaultRoot /home/user123 user123
Хорошо бы чтобы были ограничения по пользователям
Limit LOGIN>
DenyALL
AllowUser user123
</Limit>
1. Далее настраиваем sftp
<IfModule mod_sftp.c>
SFTPEngine on
SFTPHostKey /etc/ssh/ssh_host_dsa_key
SFTPHostKey /etc/ssh/ssh_host_rsa_key
SFTPLog /var/log/proftpd/sftp.log
SFTPCompression delayed
SFTPAuthMethods password publickey #способ проверки по пароли, по ключам
SFTPAuthorizedUserKeys file:/etc/proftpd/authorized_keys/%u
</IfModule>
Да, в параметре SFTPAuthorizedUserKeys надо указать переменную %u. Это надо для проверки ключа конкретного пользователя через его имя.
2. В директории /etc/proftpd/authorized_keys/ создаем файл с именем пользователя, например, при помощи редактора nano, и закидываем туда публичный ключ
cd /etc/proftpd/authorized_keys/ nano user123
Ключ в виде
---- BEGIN SSH2 PUBLIC KEY ---- AA... ... ... ---- END SSH2 PUBLIC KEY ----
3. Проверяем конфиг и если всё нормально, то перечитываем конфигурацию proftpd.
proftpd -td5 systemctl reload proftpd.service
4. Пробуем подключиться
sshfs user123@IP-address-server:/ /куда/примонтировать
Отмонтироваться можно так
fusermount -u /куда/примонтировали
Категории: Linux