Рейтинг:0

sftp - предоставить доступ к паролю только одному пользователю и chroot

флаг in

Во-первых, я знаю, что такой вопрос задавали много, и я пробовал множество решений здесь и в SuperUser, но ни одно из них не сработало, и я не могу понять, почему.

Я хочу настроить свой ssh ​​так, чтобы он принимал только ключевой вход, за исключением одного пользователя, который мог войти только с помощью sftp (без доступа к ssh cli, если возможно, я не уверен)

Вот моя конфигурация

AllowUsers пользователь1 пользователь2
ЛогинGraceTime 0
PubkeyAuthentication да
AuthorizedKeysFile %h/.ssh/authorized_keys
ПарольАутентификация нет
ВызовОтветАутентификация нет
ИспользоватьPAM да
X11Переадресация да
Песочница UsePrivilegeSeparation
ClientAliveInterval 120
Подсистема sftp внутренний-sftp
Match Group sftpusers
        ChrootDirectory /home/%u
        ForceCommand внутренний-sftp
Сопоставить пользователя user2
        Аутентификация по паролю да
        ChrootDirectory /home/%u

Когда я пытаюсь войти в FileZilla с помощью SFTP, у меня есть этот журнал

Статус: Подключение к *my_server_ip*:*my_ssh_port*...
Ответ: fzSftp запущен, protocol_version=11
Команда: открыть "user2@*my_server_ip*" *my_ssh_port*
Статус: Используется имя пользователя "user2". 
Команда: Пас: *************
Ошибка: Не удалось подключиться к серверу

Когда я пытаюсь подключиться по ssh

ssh user2@*my_server_ip* -p *my_ssh_port*
user2@*my_server_ip* пароль:
client_loop: отправить разъединение: сброс соединения

Я могу подключиться к user1 просто с помощью pubkey, но я не могу сделать так, чтобы user2 мог войти в систему с паролем

Paul avatar
флаг cn
Этот раздел справочной страницы отвечает на ваш вопрос: [ChrootDirectory](https://manpages.debian.org/bullseye/openssh-server/sshd_config.5.en.html#ChrootDirectory).
Etshy avatar
флаг in
Хорошо, мне удалось подключиться, но теперь я не могу загрузить в `home/user2`, потому что мне пришлось `chown root:root` каталог. Это обязательно или есть хитрость (например, `allow_writeable_chroot` в vsftpd)?
Paul avatar
флаг cn
Можно ли использовать подкаталоги?
Etshy avatar
флаг in
Я мог бы, но это не было моей целью. Я нашел решение, которое соответствовало моей проблеме, возможно, не самое лучшее решение.Я разместил это и приму это как решение, когда смогу.
Рейтинг:0
флаг in

Для тех, у кого такая же проблема, как у меня, вот как мне удалось chroot пользователя sftp в их домашнем каталоге

Вот мой sshd_config

Подсистема sftp внутренний-sftp
Match Group sftpusers
        X11Номер переадресации
        AllowTcpForwarding нет
        ChrootDirectory /домашний
        ForceCommand внутренний-sftp -d /%u
Сопоставить пользователя user2
        Аутентификация по паролю да

Вам нужно хорор /дом, и установите достаточное разрешение для подключения чмод 711 / домой твой /дом/пользователь2 dir может иметь обычное разрешение для пользователь2 чтобы иметь возможность создавать/загружать файлы.

С этой конфигурацией пользователь будет автоматически перемещен в свою директорию, chroot будет в /дом dir, но у пользователя не будет разрешения на .. и он будет заключен в тюрьму в своем собственном домашнем каталоге.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.