sshuttle

Роль: sshuttle

Устанавливает sshuttle в качестве системной службы.

Ansible Role

Требования

SSH-соединение с удаленным хостом, на котором будет установлен туннель. Linux-хост.

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

  • sshuttle_user: Пользователь, от имени которого будет работать служба.
  • sshuttle_group: Группа, в которой будет работать служба.
  • sshuttle_package: Имя пакета sshuttle для установки.
  • sshuttle_hosts: Словарь удаленных серверов и их разрешенных подсетей. Это будет преобразовано в формат json для конфигурационного файла службы.
    sshuttle_hosts:
      "{{ remote_hostname }}":
        - 10.0.0.0/24
        - 172.16.0.0/24
        - 192.168.0.0.0/24
    
  • sshuttle_options: Опции из manpage для описания соединений sshuttle в shuttle.py.
  • sshuttle_args: Опции из manpage для описания дополнительных аргументов в shuttle.py.
  • ssh_cmd_args: Опции из manpage для описания команды ssh в shuttle.py.
  • remote_auth: true/false, если true, роль попытается авторизовать пользователя на удаленном хосте. По умолчанию false.
  • remote_ip: IP-адрес удаленного хоста, с которым будет подключаться sshuttle.
  • remote_user: Имя пользователя, которое можно использовать для авторизации на удаленном хосте.
  • remote_hostname: Имя для записи удаленного хоста в вашем .ssh/config.

Примеры плейбуков

Запуск без создания файла конфигурации ssh:

- name: Converge
  hosts: all
  vars:
    remote_hostname: "remote-host"
    remote_auth: false
  tasks:
    - name: "Включить ansible-role-sshuttle"
      include_role:
        name: "ansible-role-sshuttle"

Запуск и создание настройки удаленной авторизации (создание .ssh/config и добавление авторизованного ключа на удаленный хост). Ansible выполнит add_host для группы remote:

- name: Converge
  hosts: all
  vars:
    remote_ip: "10.0.0.1"
    remote_user: "пользователь, который может авторизоваться на удаленной системе"
    remote_password: "{{ remote_auth_password }}"
    remote_hostname: "remote-host"
    remote_auth: true
  tasks:
    - name: "Включить ansible-role-sshuttle"
      include_role:
        name: "ansible-role-sshuttle"

- name: Remote_auth
  hosts: remote
  vars:
    remote_ip: "10.0.0.1"
    remote_user: "пользователь, который может авторизоваться на удаленной системе"
    remote_password: "{{ remote_auth_password }}"
    remote_hostname: "remote-host"
    remote_auth: true
  tasks:
    - name: "Включить ansible-role-sshuttle"
      include_role:
        name: "ansible-role-sshuttle"
        tasks_from: remote_auth

Лицензия

MIT

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

Jared Zieche

О проекте

Install sshuttle as a service

Установить
ansible-galaxy install JaredZieche/ansible-role-sshuttle
Лицензия
mit
Загрузки
374
Владелец