Авторизация пользователей по SSH на машине - где настроить?

Ubuntu Trusty здесь. У меня возникли проблемы с определением того, где в системе я должен указать, каким пользователям разрешено подключаться по ssh к компьютеру и какие ключи им разрешено использовать.

Я традиционно только что создал пользователей Linux с соответствующими домашними папками и разместил бы authorized_keys в папке ~/.ssh.

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

Теперь, какова лучшая практика здесь? Должен ли я не указывать AllowUsers/AuthorizedKeysFile и позволить существованию пользователя ОС и файлу авторизованного ключа решать, должен ли пользователь иметь возможность войти в систему или нет? Разве я не должен использовать пользовательский ~/.ssh/authorized_keys? Должен ли я иметь оба на месте?

Первый делает управление конфигурацией (через Ansible в моем случае) немного проще, но я могу иметь его в обоих местах, если это будет необходимо.

1 ответ

Решение

Самый распространенный способ ~/.ssh/authorized_keys, это позволяет пользователям управлять своими собственными ключами. Если вы не планируете когда-нибудь перейти на другую систему аутентификации (например, LDAP), это должен быть ваш выбор.

Имейте в виду, что каждый ~/.ssh/ папка должна быть chmod'd до 700 и chown'd для соответствующего пользователя.

Кстати, если вы управляете большим количеством пользователей, посмотрите на useradd документация по /etc/skel каталог. Вы можете захотеть поставить по умолчанию .ssh/authorized_keys там.

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