autossh
Ansible Роль: autossh
- Устанавливает autossh и службы systemd для его работы, чтобы поддерживать открытыми SSH туннели.
- Проверяет ключи хоста, чтобы избежать запросов проверки ключей хоста.
Взято из memiah/ansible-role-autossh с изменением целевых систем на Debian вместо RedHat.
Предполагается, что SSH пользователь существует и имеет необходимые права доступа к удаленному серверу. Соответствующий SSH ключ также должен быть доступен на локальном сервере.
Переменные роли (значения по умолчанию)
autossh_connections:
- id: "example" # Простой уникальный идентификатор подключения (символы: "a-z,0-9,-").
user: "" # Имя пользователя для подключения к удаленному серверу.
server: "" # IP / имя хоста удаленного сервера.
server_key_type: "" # Тип ключа удаленного сервера, по умолчанию autossh_default_server_key_type. (Необязательно)
local_port: "" # Локальный порт для переадресации.
dest_server: "" # IP / имя хоста для использования на удаленном сервере, по умолчанию autossh_default_dest_server. (Необязательно)
dest_port: "" # Порт на удаленном сервере для подключения.
identity_file: "" # Путь к приватному ключу SSH, по умолчанию autossh_default_ssh_key_path. (Необязательно)
Добавьте набор свойств подключения SSH для каждого соединения. Здесь можно указать несколько соединений.
autossh_path: "/usr/bin/autossh"
Путь к autossh.
autossh_ssh_dir: "/root/.ssh"
Директория для хранения конфигурации SSH.
autossh_systemd_dir: "/etc/systemd/system/"
Путь к директории systemd.
autossh_known_hosts_file: "{{ autossh_ssh_dir }}/known_hosts"
Путь к файлу известных хостов.
autossh_default_server_key_type: "ecdsa"
Тип ключа для удаленного сервера по умолчанию. Переопределите это значение для одноразового подключения с помощью опции server_key_type
в списке autossh_connections
.
autossh_default_dest_server: "127.0.0.1"
IP / имя хоста по умолчанию для использования на удаленном сервере, это, скорее всего, будет localhost / 127.0.0.1. Переопределите это значение для одноразового подключения с помощью опции dest_server
в списке autossh_connections
.
autossh_default_identity_file: "/root/.ssh/id_rsa"
Путь к файлу, из которого читается идентификация (приватный ключ) для аутентификации по публичному ключу. По умолчанию это /root/.ssh/id_rsa
для версии протокола 2. Переопределите это значение для одноразового подключения с помощью опции identity_file
в списке autossh_connections
.
Пример
Переадресовать локальный порт 33061
на порт 3306
на db.example.com
, подключаясь через SSH как [email protected]
.
- hosts: backup
vars:
autossh_connections:
- id: mysql
user: backup
server: db.example.com
local_port: '33061'
dest_port: '3306'
roles:
- role: yurihs.autossh
become: true
Это создаст новую службу с именем autossh-backup.service
, которая может управляться с помощью systemctl:
systemctl status autossh-backup.service
systemctl restart autossh-backup.service
...
Авторы
Эта роль была создана в 2016 году Memiah Limited.
Адаптация для Debian в 2019 году yurihs.
ansible-galaxy install yurihs/ansible-role-autossh