memiah.autossh
AutoSSH
Rola Ansible, która instaluje i konfiguruje wiele połączeń autossh, umożliwiając przekazywanie portów z lokalnego serwera do zdalnych serwerów za pomocą SSH.
Wymagania
Zakładamy, że użytkownik SSH istnieje i ma odpowiednie uprawnienia do
dostępu do zdalnego serwera. Odpowiedni klucz SSH musi być również dostępny
na lokalnym serwerze (/root/.ssh/id_rsa
lub zdefiniowany w konfiguracji połączenia).
Zmienna Roli
Dostępne zmienne są wymienione poniżej, wraz z wartościami domyślnymi (zobacz
defaults/main.yml
):
autossh_connections:
- id: "example" # Prosty, unikalny identyfikator połączenia (znaki: "a-z,0-9,-").
user: "" # Nazwa użytkownika używana do połączenia z zdalnym serwerem.
server: "" # IP / nazwa hosta zdalnego serwera.
server_key_type: "" # Typ klucza zdalnego serwera, domyślnie to autossh_default_server_key_type. (Opcjonalne)
local_port: "" # Lokalny port do przekazywania.
dest_server: "" # IP / nazwa hosta do użycia na zdalnym serwerze, domyślnie to autossh_default_dest_server. (Opcjonalne)
dest_port: "" # Port na zdalnym serwerze, do którego należy się połączyć.
identity_file: "" # Ścieżka do prywatnego klucza SSH, domyślnie to autossh_default_ssh_key_path. (Opcjonalne)
Dodaj zestaw właściwości połączenia SSH dla każdego połączenia. Można wymienić tutaj wiele połączeń.
autossh_path: "/usr/bin/autossh"
Ścieżka do autossh.
autossh_ssh_dir: "/root/.ssh"
Katalog do przechowywania konfiguracji SSH.
autossh_systemd_dir: "/etc/systemd/system/"
Ścieżka do katalogu systemd.
autossh_known_hosts_file: "{{ autossh_ssh_dir }}/known_hosts"
Ścieżka do pliku znanych hostów.
autossh_default_server_key_type: "ecdsa"
Domyślny typ klucza zdalnego serwera. Można nadpisać tę wartość dla
pojedynczego połączenia, używając opcji server_key_type
w
liście autossh_connections
.
autossh_default_dest_server: "127.0.0.1"
Domyślne IP / nazwa hosta do użycia na zdalnym serwerze, będą to
najprawdopodobniej localhost / 127.0.0.1. Można nadpisać tę wartość
dla pojedynczego połączenia, używając opcji dest_server
w
liście autossh_connections
.
autossh_default_identity_file: "/root/.ssh/id_rsa"
Ścieżka do pliku, z którego odczytywany jest identyfikator (klucz
prywatny) do autoryzacji klucza publicznego. Domyślnie to
/root/.ssh/id_rsa
dla wersji protokołu 2. Można nadpisać tę
wartość dla pojedynczego połączenia, używając opcji identity_file
w liście autossh_connections
.
Zależności
Brak.
Przykład Playbooka
- hosts: servers
vars_files:
- vars/main.yml
roles:
- { role: memiah.autossh }
Wewnątrz vars/main.yml
:
autossh_connections:
- id: "example"
user: "nazwa_użytkownika"
server: "zdalny.serwer"
local_port: "33061"
dest_port: "3306"
Przekazuje lokalny port 33061
do portu 3306
na zdalnym.serwerze
,
łącząc się za pomocą SSH jako nazwa_uż[email protected]
.
To stworzy nową usługę o nazwie autossh-example.service
(autossh-{id}.service), którą można zarządzać za pomocą systemctl:
systemctl status autossh-example.service
systemctl restart autossh-example.service
...
Licencja
MIT / BSD
Informacje o autorze
Ta rola została stworzona w 2016 roku przez Memiah Limited.
ansible-galaxy install memiah.autossh