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

Отключить аутентификацию по паролю только для удаленных пользователей

Я читал, как можно отключить аутентификацию по паролю на сервере Ubuntu. Однако можно ли отключить это только для удаленных пользователей?

Боюсь, что если я включу это как локально, так и удаленно (как задумано), я в конечном итоге потеряю ключ и заблокируюсь (со временем). Если бы я мог отключить аутентификацию по паролю только для удаленных пользователей, потеря ключа не была бы такой трагичной; Я мог просто зайти в локальную сеть, войти в систему с паролем и создать новый ключ.

Из sshd_config(5) страница руководства:

 Match   Introduces a conditional block.  If all of the criteria on the Match line are satisfied, the keywords on the following lines override those set in the global section of the config file, until either another
         Match line or the end of the file.

         The arguments to Match are one or more criteria-pattern pairs.  The available criteria are User, Group, Host, LocalAddress, LocalPort, and Address.  The match patterns may consist of single entries or comma-
         separated lists and may use the wildcard and negation operators described in the PATTERNS section of ssh_config(5).

         The patterns in an Address criteria may additionally contain addresses to match in CIDR address/masklen format, e.g. “192.0.2.0/24” or “3ffe:ffff::/32”.  Note that the mask length provided must be consistent
         with the address - it is an error to specify a mask length that is too long for the address or one with bits set in this host portion of the address.  For example, “192.0.2.0/33” and “192.0.2.0/8” respectively.

Это означает, что, если предположить, что 10.0.0.0/24 - ваша локальная сеть, вы можете иметь PasswordAuthentication отключен в основной конфигурации и Match блок вроде этого:

    ....
    PasswordAuthentication No
    ....
Match Address 10.0.0.0/24
    PasswordAuthentication Yes

Вы можете поместить всех удаленных пользователей в локальную (дополнительную) группу ex. 'remoteusr' и запретить вход с паролем в 'sshd_config'

Match Group remoteusr
      PasswordAuthentication no

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

Второй случай - это ваш «черный ход», который прослушивает только отдельный порт или отдельный IP-адрес, возможно, с соответствующими правилами брандмауэра для предотвращения доступа извне. Он настроен иначе; возможно, разрешить аутентификацию по паролю, возможно, разрешить доступ к учетным записям, которые запрещены в основном и т. д.