sshd
Сервер OpenSSH
Роль Ansible для настройки сервера OpenSSH SSHD
.
Основная цель этой роли - управлять файлом sshd.conf. Также она включает дополнительные функции, например, развертывание определенных ssh ключей хоста по заданному пути.
Полезный совет
Используйте криптографию на эллиптических кривых для своих ssh ключей:
ssh-keygen -t ed25519
По умолчанию эта роль позволит использовать только ключи ed25519. Но при желании вы можете изменить это.
Предназначение
Эта роль предназначена для управления хостами Linux с определенными ролями. В основном эта роль сосредоточена на хорошей конфигурации sshd и может определить, какие пользователи могут подключаться по ssh и какие типы ssh ключей разрешены. Другие роли распределяют публичные ssh ключи, создают пользователей, настраивают права sudo, устанавливают dotfiles или полезные пакеты.
Список рекомендуемых ролей для управления вашим Linux хостом:
- do1jlr.base установить полезные пакеты
- do1jlr.users создать пользователей и управлять sudoers
- do1jlr.auth развернуть публичные ключи ssh
- do1jlr.sshd (эта роль)
- do1jlr.dotfiles развернуть некоторые интересные dotfiles
Полезная информация:
Перечисленные роли используют одни и те же переменные для создания учетных записей, администраторов и т. д. Однако роли должны выполняться в правильном порядке, чтобы они работали должным образом. Например, нельзя развернуть публичный ssh ключ для пользователя, который еще не создан.
Объяснение некоторых переменных
Помните: Ознакомьтесь с defaults/main.yml
для всех возможных переменных.
SSH Порт
Порт OpenSSH определяется с помощью переменнойsshd__port: 22
. Измените его, если хотите.Разрешенные пользователи и группы
Стандартные пользователи, которым разрешено входить, берутся из спискаusers: {}
.
Ту же переменнуюusers: {}
используют и другие рекомендуемые роли ssh.
Пример разрешения входа для пользователей и групп с именамиl3d
иottojo
:
users:
l3d:
- l3d
ottojo:
- ottojo@uni
- ottojo@home
SSH Вход по паролю
Аутентификация SSH по паролю установлена на false черезsshd__password_authentication: false
. Это не позволит вам использовать пароль для входа по SSH.Управление типами SSH ключей
По умолчанию эта роль настраивает, какие типы ключей ssh разрешены для входа. Если вы не хотите это определять, измените переменнуюsshd__manage_key_types: true
.Определение разрешенных типов ключей ssh
Разрешенные типы ключей SSH определяются этим списком. Некоторые из них прокомментированы.
Обратите внимание, что по умолчанию разрешены только ключиed25519
. Имейте это в виду, если вы используете ключ rsa.
sshd__key_types:
- 'ed25519'
# - 'rsa'
# - 'ecdsa'
# - 'dsa' # (не используйте!)
Расширенные настройки алгоритмов SSH
Вы также можете определить используемые алгоритмы Key и Kex. Для значений по умолчанию и некоторых примеров переменныхsshd__key_algorithmus
иsshd__kex_algorithmus
взгляните наdefaults/main.yml
. Вы можете отключить это, установивsshd__manage_key_algorithmus
иsshd__manage_kex_algorithmus
вfalse
.Принудительное использование новых возможностей SSH
Если вы знаете, что используете версию ssh>8
, вы можете дополнительно определить это, установив значение переменнойsshd__version_is_above_eight
вtrue/false
.
Файлы
Основная задача этой роли - настроить файл sshd.conf
.
Ссылки
Тестирование
Эта роль протестирована с помощью нескольких проверок на качество. К сожалению, я не знаю, как запустить эту роль в контейнере Docker, потому что вовлечен systemd... Если у вас есть идеи о том, как улучшить тестирование, пожалуйста, напишите мне, откройте проблему или запрос на внесение изменений. Если вы хотите узнать больше о наших тестах, пожалуйста, ознакомьтесь с рынком GitHub.
статус теста | Рынок GitHub |
---|---|
опубликовать-ansible-роль-в-galaxy | |
yamllint-github-action | |
ansible-lint action |
ansible-galaxy install roles-ansible/ansible_role_sshd