Назад | Перейти на главную страницу

Как настроить SSH-аутентификацию с ключом без пароля только для удаленного доступа, позволяя локальным пользователям использовать пароли

Я пытаюсь запустить SSH-сервер под управлением Ubuntu 10.04, чтобы разрешить вход по паролю только при выходе из локальной сети. Для всех других пользователей, особенно тех, которые входят в систему из Интернета через брандмауэр, я хочу принудительно использовать аутентификацию на основе ключей. Я погуглил и нашел следующее.

Вот что я изменил /etc/ssh/sshd_config:

PasswordAuthentication yes
Match Address 192.168.5.0/24
PasswordAuthentication yes

После этого я вхожу в систему с другого компьютера с адресом 192.168.5. адрес, но он не позволит мне войти из-за отсутствия publicKey: Permission denied (publickey).

Это должно помочь:

PubkeyAuthentication yes
PasswordAuthentication no
Match Address 192.168.5.* PasswordAuthentication yes

Первые две строки по умолчанию будут включать аутентификацию с открытым ключом. Последняя строка заменит две другие строки для согласованной сети (192.168.5.0/24).

Перевод строки после условия соответствия имеет значение. Это должно работать:

PasswordAuthentication no
Match Address 192.168.5.0/24
PasswordAuthentication yes

РЕДАКТИРОВАТЬ: я удивлен, что другой ответ сработал! У меня это не сработало. Итак, таким образом вы сможете использовать сетевую маску CIDR.