Ubuntu Trusty здесь. У меня возникли проблемы с определением, где в системе я должен настроить, каким пользователям разрешено использовать ssh на машине и какие ключи им разрешено использовать.
Я традиционно просто создавал пользователей Linux с соответствующими домашними папками и помещал authorized_keys
в папке ~ / .ssh.
Похоже, что еще один вариант - использовать конфигурацию sshd. Вы можете определить AllowUsers
там и даже AuthorizedKeysFile
со всеми поддерживаемыми ключами ssh. я использую Эта статья для справки.
Итак, что здесь лучше всего? Не следует ли мне указывать AllowUsers / AuthorizedKeysFile и позволить существованию пользователя ОС и файлу authorized_keys решать, должен ли пользователь войти в систему или нет? Не следует ли мне использовать пользовательские ~ / .ssh / authorized_keys? Должен ли я иметь оба на месте?
Первый упрощает управление конфигурацией (через Ansible в моем случае), но при необходимости я могу использовать его в обоих местах.
Самый распространенный способ - ~/.ssh/authorized_keys
, он позволяет пользователям управлять своими собственными ключами. Если вы не планируете когда-нибудь перейти на другую систему аутентификации (например, LDAP), это должно быть вашим выбором.
Имейте в виду, что каждый ~/.ssh/
Папка должна быть изменена до 700 и переадресована соответствующему пользователю.
Кстати, если вы управляете большим количеством пользователей, обратите внимание на useradd
документация по /etc/skel
каталог. Вы можете указать значение по умолчанию .ssh/authorized_keys
там.