Как правильно отключить аутентификацию по паролю SSH?

Я видел две рекомендации по отключению аутентификации по паролю после передачи вашего открытого SSH-ключа на сервер Ubuntu. Каждый включает в себя различные модификации файла sshd_config.

  1. Эта статья Digital Ocean рекомендует PermitRootLogin without-password

  2. В этом уроке рекомендуется PasswordAuthentication no

В чем разница между ними?

1
задан 26 July 2019 в 14:50

1 ответ

PermitRootLogin without-password что-то вроде неправильного употребления (который является, почему в последних версиях OpenSSH оно удерживается от использования в пользу PermitRootLogin prohibit-password). То, что это делает, позволяют корню входить в систему, но только через методы кроме аутентификации по паролю; например, основанная на ключе аутентификация позволяется. Это не имеет никакого эффекта на пользователей кроме корня.

PasswordAuthentication no запрещает аутентификацию по паролю для всех пользователей. Отметьте это, при помощи a Match блок, возможно запретить аутентификацию по паролю только для некоторых пользователей или позволить его для некоторых пользователей, когда это глобально запрещается:

# Prohibit password authentication only for user foo
Match User foo
    PasswordAuthentication no

# Prohibit password authentication for all users other than foo
PasswordAuthentication no
Match User foo
    PasswordAuthentication yes

Match блоки могут также соответствовать другим вещам, например, при помощи имени хоста, соответствующего Вам, может позволить аутентификацию по паролю от машин в локальной сети только. Посмотрите man sshd_config для деталей.

4
ответ дан 3 December 2019 в 06:49

Другие вопросы по тегам:

Похожие вопросы: