Во-первых, я знаю, что такой вопрос задавали много, и я пробовал множество решений здесь и в 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 мог войти в систему с паролем