sshd

Ansible Galaxy MIT License

Сервер 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
Galaxy release опубликовать-ansible-роль-в-galaxy
Yamllint GitHub Actions yamllint-github-action
Проверка Ansible Lint ansible-lint action
О проекте

Manage your SSH Server - and deploy a good sshd configuration

Установить
ansible-galaxy install roles-ansible/ansible_role_sshd
Лицензия
mit
Загрузки
55004
Владелец
Ansible roles provide a framework for fully independent, or interdependent collections of variables,tasks,files,templates &modules. Here we maintain some. enjoy