jaredzieche.sshuttle

Rola: sshuttle

Instalacja sshuttle jako usługi systemowej

Rola Ansible

Wymagania

Połączenie SSH z zdalnym hostem, na którym zostanie utworzony tunel Host Linux

Zmienne roli

  • sshuttle_user: Użytkownik, pod którym będzie działać usługa
  • sshuttle_group: Grupa, pod którą będzie działać usługa
  • sshuttle_package: nazwa pakietu sshuttle do zainstalowania
  • sshuttle_hosts: słownik zdalnych serwerów i ich rozwiązywanych podsieci. Zostanie to przekonwertowane na json w pliku konfiguracyjnym usługi
    sshuttle_hosts:
      "{{ remote_hostname }}":
        - 10.0.0.0/24
        - 172.16.0.0/24
        - 192.168.0.0/24
    
  • sshuttle_options: Opcje z manpage opisujące połączenia sshuttle w shuttle.py.
  • sshuttle_args: Opcje z manpage opisujące dodatkowe argumenty w shuttle.py.
  • ssh_cmd_args: Opcje z manpage opisujące polecenie ssh w shuttle.py.
  • remote_auth: true/false, jeśli true, rola podejmie próbę autoryzacji użytkownika do zdalnego hosta tunelu. Domyślnie false.
  • remote_ip: adres IP zdalnego hosta, przez który sshuttle się połączy.
  • remote_user: Nazwa użytkownika, która może być użyta do autoryzacji z remote_host.
  • remote_hostname: nazwa dla wpisu zdalnego hosta w pliku .ssh/config.

Przykładowe Playbooki

Uruchomienie bez tworzenia pliku konfiguracyjnego ssh:

- name: Converge
  hosts: all
  vars:
    remote_hostname: "remote-host"
    remote_auth: false
  tasks:
    - name: "Zawiera ansible-role-sshuttle"
      include_role:
        name: "ansible-role-sshuttle"

Uruchomienie i stworzenie ustawienia autoryzacji zdalnej (utworzenie .ssh/config i dodanie klucza autoryzacyjnego do zdalnego hosta). Ansible wykona add_host jako grupa remote:

- name: Converge
  hosts: all
  vars:
    remote_ip: "10.0.0.1"
    remote_user: "użytkownik, który może autoryzować się z zdalnym systemem"
    remote_password: "{{ remote_auth_password }}"
    remote_hostname: "remote-host"
    remote_auth: true
  tasks:
    - name: "Zawiera ansible-role-sshuttle"
      include_role:
        name: "ansible-role-sshuttle"

- name: Remote_auth
  hosts: remote
  vars:
    remote_ip: "10.0.0.1"
    remote_user: "użytkownik, który może autoryzować się z zdalnym systemem"
    remote_password: "{{ remote_auth_password }}"
    remote_hostname: "remote-host"
    remote_auth: true
  tasks:
    - name: "Zawiera ansible-role-sshuttle"
      include_role:
        name: "ansible-role-sshuttle"
        tasks_from: remote_auth

Licencja

MIT

Informacje o autorze

Jared Zieche

O projekcie

Install sshuttle as a service

Zainstaluj
ansible-galaxy install jaredzieche.sshuttle
Licencja
mit
Pobrania
383
Właściciel