Авторизация пользователей по 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
там.