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