autossh

AutoSSH

Роль Ansible, которая устанавливает и настраивает несколько подключений autossh, позволяя перенаправлять порты с локального сервера на удаленные серверы через SSH.

Требования

Мы предполагаем, что SSH-пользователь существует и имеет правильные права для доступа к удаленному серверу. Также должен быть доступен соответствующий SSH-ключ на локальном сервере (/root/.ssh/id_rsa или определённый в конфигурации подключения).

Переменные роли

Доступные переменные перечислены ниже, вместе с значениями по умолчанию (см. defaults/main.yml):

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.

Зависимости

Нет.

Пример Playbook

- hosts: servers
  vars_files:
    - vars/main.yml
  roles:
     - { role: memiah.autossh }

Внутри vars/main.yml:

autossh_connections:
  - id: "example"
    user: "username"
    server: "remote.server"
    local_port: "33061"
    dest_port: "3306"

Перенаправить локальный порт 33061 на порт 3306 на remote.server, подключаясь через SSH как [email protected].

Это создаст новый сервис с именем autossh-example.service (autossh-{id}.service), который можно управлять с помощью systemctl:

systemctl status autossh-example.service
systemctl restart autossh-example.service
...

Лицензия

MIT / BSD

Информация об авторе

Эта роль была создана в 2016 году Memiah Limited.

О проекте

Install and configure autossh connections on RedHat systems.

Установить
ansible-galaxy install memiah/ansible-role-autossh
Лицензия
Unknown
Загрузки
123
Владелец