Updated README for all rolers, added role for configure sshd_config
parent
5822cdc7e0
commit
a758261414
|
|
@ -0,0 +1,37 @@
|
|||
# Роль Ansible: Настройка SSH
|
||||
|
||||
## Описание
|
||||
|
||||
Данная роль предназначена для настройки сервера SSH на удалённых хостах с помощью Ansible. Она выполняет следующие задачи:
|
||||
|
||||
1. Гарантирует, что каталог `/etc/ssh` существует и имеет правильные права доступа.
|
||||
2. Настраивает параметры SSH-сервера в файле `sshd_config`.
|
||||
3. Включает и запускает службу `sshd`.
|
||||
4. При изменении конфигурации SSH перезапускает службу `sshd`.
|
||||
|
||||
## Требования
|
||||
|
||||
Роль не требует дополнительных зависимостей, кроме установленного Ansible и наличия прав суперпользователя на целевых хостах.
|
||||
|
||||
## Переменные роли
|
||||
|
||||
Роль не использует внешние переменные и работает с фиксированными параметрами SSH.
|
||||
|
||||
## Зависимости
|
||||
|
||||
Зависимости от других ролей отсутствуют.
|
||||
|
||||
## Пример Playbook
|
||||
|
||||
Пример использования роли в Playbook:
|
||||
|
||||
```yaml
|
||||
- hosts: servers
|
||||
become: yes
|
||||
roles:
|
||||
- ssh_config_role
|
||||
```
|
||||
|
||||
## Автор
|
||||
|
||||
Автор: [Юрий Обрезков]
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
- name: Restart SSH
|
||||
service:
|
||||
name: sshd
|
||||
state: restarted
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
galaxy_info:
|
||||
author: your name
|
||||
description: your role description
|
||||
company: your company (optional)
|
||||
|
||||
# If the issue tracker for your role is not on github, uncomment the
|
||||
# next line and provide a value
|
||||
# issue_tracker_url: http://example.com/issue/tracker
|
||||
|
||||
# Choose a valid license ID from https://spdx.org - some suggested licenses:
|
||||
# - BSD-3-Clause (default)
|
||||
# - MIT
|
||||
# - GPL-2.0-or-later
|
||||
# - GPL-3.0-only
|
||||
# - Apache-2.0
|
||||
# - CC-BY-4.0
|
||||
license: license (GPL-2.0-or-later, MIT, etc)
|
||||
|
||||
min_ansible_version: 2.1
|
||||
|
||||
# If this a Container Enabled role, provide the minimum Ansible Container version.
|
||||
# min_ansible_container_version:
|
||||
|
||||
galaxy_tags: []
|
||||
# List tags for your role here, one per line. A tag is a keyword that describes
|
||||
# and categorizes the role. Users find roles by searching for tags. Be sure to
|
||||
# remove the '[]' above, if you add tags to this list.
|
||||
#
|
||||
# NOTE: A tag is limited to a single word comprised of alphanumeric characters.
|
||||
# Maximum 20 tags per role.
|
||||
|
||||
dependencies: []
|
||||
# List your role dependencies here, one per line. Be sure to remove the '[]' above,
|
||||
# if you add dependencies to this list.
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
- name: Ensure SSH directory exists
|
||||
file:
|
||||
path: /etc/ssh
|
||||
state: directory
|
||||
mode: '0755'
|
||||
|
||||
- name: Configure SSH server
|
||||
lineinfile:
|
||||
path: /etc/ssh/sshd_config
|
||||
regexp: "^{{ item.key }}"
|
||||
line: "{{ item.key }} {{ item.value }}"
|
||||
create: yes
|
||||
state: present
|
||||
loop:
|
||||
- { key: "Port", value: "22" }
|
||||
- { key: "PubkeyAuthentication", value: "yes" }
|
||||
- { key: "X11Forwarding", value: "yes" }
|
||||
- { key: "PrintMotd", value: "no" }
|
||||
- { key: "UsePAM", value: "yes" }
|
||||
notify: Restart SSH
|
||||
|
||||
- name: Ensure SSH service is enabled and running
|
||||
service:
|
||||
name: sshd
|
||||
state: started
|
||||
enabled: yes
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
localhost
|
||||
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
---
|
||||
- hosts: localhost
|
||||
remote_user: root
|
||||
roles:
|
||||
- ssh_setup
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
---
|
||||
# vars file for ssh
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
- name: Update ssh config
|
||||
become: yes
|
||||
hosts: all
|
||||
roles:
|
||||
- role: ssh_setup
|
||||
tags: ssh_setup
|
||||
Loading…
Reference in New Issue