Каким пользователям разрешено входить через SSH по умолчанию?

18
  1. Когда я настраивал свой Debian 6, мне было интересно, какие пользователи кроме root, чей пароль, который я знаю, могут войти в мою систему через SSH?

  2. Когда я устанавливаю Apache 2, создается пользователь с именем www-data. Имеет ли этот пользователь право входить в мою систему через SSH? Но если бы был какой-то пароль по умолчанию для www-данных, каждый мог войти в систему, мне кажется маловероятным.

  3. Где я могу получить список пользователей, которым разрешено входить в мою систему через SSH? Ничего не могу найти в конфигурационных файлах ssh.

JohnnyFromBF
источник

Ответы:

20

Paradeepchhetri не совсем правильно.

Немодифицированный Debian sshd_configимеет следующее:

PubkeyAuthentication yes
PermitEmptyPasswords no
UsePAM yes

Таким образом, вход через ssh будет работать только для пользователей, у которых есть заполненное поле пароля /etc/shadowили ключ ssh ~/.ssh/authorized_keys. Обратите внимание, что значение по умолчанию для PubkeyAuthenticationis yesи for PermitEmptyPasswordsis no, поэтому даже если вы удалите их, поведение будет одинаковым.

В примере с вопросом www-dataпо умолчанию вход в систему запрещен, поскольку установщик Debian не назначает пароль и не создает ключ для www-data.

pam_access, AllowUsersИ AllowGroupsв sshd_configможет быть использована для управления более тонкого , если это необходимо. В Debian это настоятельно рекомендуется UsePAM.

bahamat
источник
10

По умолчанию вход в систему разрешен для всех пользователей Debian.

Вы можете изменить его, разрешив определенным пользователям войти в систему, отредактировав /etc/ssh/sshd_configфайл.

Как уже упоминалось в справочной странице sshd_config.

AllowUsers

За этим ключевым словом может следовать список шаблонов имен пользователей, разделенных
пробелами. Если указано, вход в систему разрешен только для имен пользователей, которые соответствуют одному из шаблонов. Допустимы только имена пользователей; числовой идентификатор пользователя не
распознается. По умолчанию вход разрешен для всех пользователей. Если шаблон принимает форму, USER@HOSTто USERи HOSTпроверяются отдельно, ограничивая вход в систему определенным пользователям с определенных хостов. Разрешить / запретить директивы обрабатываются в следующем порядке: DenyUsers, AllowUsers, DenyGroup, и , наконец AllowGroups.

pradeepchhetri
источник
Я добавил «на Debian» на случай, если кто-то придет и прочитает заголовок и ответ на вопрос, не читая сам вопрос. Общий ответ на заголовок вопроса: «Это зависит от содержимого отправленного sshd_configфайла». Например, некоторые ОС поставляются с запрещенным входом в систему через SSH.
Уоррен Янг
Спасибо, но очевидно, что по умолчанию только root может войти в систему, так как он единственный с паролем в / etc / shadow.
JohnnyFromBF
7

По умолчанию SSH serverдаже не установлен. Вам нужно будет установить openssh-serverпакет, прежде чем кто-нибудь сможет войти в SSH.

После этого любой пользователь должен пройти две проверки:

  • SSH-аутентификация
  • Проверка PAM аккаунта

SSH-аутентификация означает, что либо у пользователя должен быть действительный пароль, /etc/shadowлибо у него есть действительный открытый ключ SSH с правами доступа у целевого пользователя ~/.ssh/authorized_keys.

Действительные пароли описаны далее на crypt(3)странице руководства , но, в основном, если второе поле пользователя в /etc/shadowчем-то начинается с $NUMBER$, оно, вероятно, допустимо, а если *или !, или оно недействительно.

Проверка учетной записи PAM в основном означает, что срок действия учетной записи не истек. Вы можете проверить это, используя chage -l USERNAME.

Итак, чтобы ответить на ваши вопросы, насколько мне известно:

  1. Только root и учетная запись, созданная вами в мастере установки, могут войти в новую систему
  2. Нет, потому что www-dataимеет хешированный пароль *и нет ~www-data/.ssh/authorized_keysфайла
  3. Единого списка нет, потому что есть несколько требований, но чтобы получить представление, вы можете попробовать запустить grep -v '^[^:]*:[!*]:' /etc/shadow
Mikel
источник
1
Будьте осторожны, пустой пароль является действительным паролем, но, как указал Багамат , конфигурация SSH по умолчанию (и конфигурация Debian по умолчанию) запрещает вход в SSH для учетных записей пустых паролей.
Тотор