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

Ограничьте вход по SSH открытым ключом из общедоступных сетей, но разрешите пароль из внутренних сетей

Предположим, пользователю A разрешено входить на сервер по SSH как из общедоступных сетей, так и из частных.

Есть ли возможность ограничить вход с использованием пароля в частные сети при одновременном обеспечении аутентификации с открытым ключом для остального мира?

Что у меня есть в моей конфигурации

AllowUsers root@10.0.0.2 root@10.0.0.1 usera

Как я могу разрешить пользователю входить в систему с адреса usera@10.0.0/24 по общему ключу или паролю, а также принудительно использовать общий ключ для входа пользователя из любой другой сети?

Работает ли что-то похожее на следующее? Каков точный синтаксис обозначений?

# no password login from the public
PasswordAuthentication no
ChallengeResponseAuthentication no

# allow password login from private network
Match Users usera@10.0.0/24 root@10.0.0/24
   PasswordAuthentication yes

Спасибо за просветление.

PS: Причина этой настройки - включить пароль для входа из внутренней сети в качестве крайней меры, если что-то еще не сработает.

Ваша конфигурация близка. Я думаю, что ты хочешь

PubkeyAuthentication yes
PasswordAuthentication yes

AuthenticationMethods publickey

Match Address 10.0.0.0/24
AuthenticationMethods publickey password

Вы можете найти подробности в man sshd_config.