memiah.autossh
AutoSSH
Eine Ansible-Rolle, die mehrere Autossh-Verbindungen installiert und konfiguriert und das Port-Forwarding vom lokalen Server zu entfernten Servern über SSH ermöglicht.
Anforderungen
Wir setzen voraus, dass der SSH-Benutzer existiert und die richtigen Berechtigungen
hat, um auf den entfernten Server zuzugreifen. Ein entsprechender SSH-Schlüssel
muss ebenfalls vorhanden und auf dem lokalen Server verfügbar sein
(\/root\/.ssh\/id_rsa
oder pro Verbindungs-Konfiguration definiert).
Rollenvariablen
Verfügbare Variablen sind unten aufgeführt, zusammen mit Standardwerten
(siehe defaults/main.yml
):
autossh_connections:
- id: "example" # Einfacher eindeutiger Verbindungsbezeichner (Zeichen: "a-z,0-9,-").
user: "" # Benutzername, der zum Verbinden mit dem entfernten Server verwendet wird.
server: "" # IP / Hostname des entfernten Servers.
server_key_type: "" # Schlüsseltyp des entfernten Servers, Standardwert ist autossh_default_server_key_type. (Optional)
local_port: "" # Lokaler Port zum Weiterleiten.
dest_server: "" # IP / Hostname, der auf dem entfernten Server verwendet wird, Standardwert ist autossh_default_dest_server. (Optional)
dest_port: "" # Port auf dem entfernten Server, zu dem eine Verbindung hergestellt werden soll.
identity_file: "" # Pfad zur SSH-Privatschlüsseldatei, Standardwert ist autossh_default_ssh_key_path. (Optional)
Fügen Sie eine Reihe von SSH-Verbindungseigenschaften pro Verbindung hinzu. Mehrere Verbindungen können hier aufgeführt werden.
autossh_path: "/usr/bin/autossh"
Pfad zu autossh.
autossh_ssh_dir: "/root/.ssh"
Verzeichnis zum Speichern der SSH-Konfiguration.
autossh_systemd_dir: "/etc/systemd/system/"
Pfad zum systemd-Systemverzeichnis.
autossh_known_hosts_file: "{{ autossh_ssh_dir }}/known_hosts"
Pfad zur Datei der bekannten Hosts.
autossh_default_server_key_type: "ecdsa"
Standard-Schlüsseltyp des entfernten Servers. Überschreiben Sie diesen Wert
für eine einzelne Verbindung mit der server_key_type
-Option in der
autossh_connections
-Liste.
autossh_default_dest_server: "127.0.0.1"
Standard-IP / Hostname, der auf dem entfernten Server verwendet wird,
dies wird höchstwahrscheinlich localhost / 127.0.0.1 sein. Überschreiben Sie
diesen Wert für eine einzelne Verbindung mit der dest_server
-Option in der
autossh_connections
-Liste.
autossh_default_identity_file: "/root/.ssh/id_rsa"
Pfad zur Datei, aus der die Identität (Privatschlüssel) für die
Authentifizierung mit öffentlichem Schlüssel gelesen wird. Der Standard ist
/root/.ssh/id_rsa
für Protokollversion 2. Überschreiben Sie diesen Wert
für eine einzelne Verbindung mit der identity_file
-Option in der
autossh_connections
-Liste.
Abhängigkeiten
Keine.
Beispiel-Playbook
- hosts: servers
vars_files:
- vars/main.yml
roles:
- { role: memiah.autossh }
In vars/main.yml
:
autossh_connections:
- id: "example"
user: "benutzername"
server: "entferner.server"
local_port: "33061"
dest_port: "3306"
Leiten Sie den lokalen Port 33061
auf den Port 3306
auf entferner.server
weiter,
indem Sie sich über SSH als [email protected]
verbinden.
Dies wird einen neuen Dienst mit dem Namen autossh-example.service
(autossh-{id}.service) erstellen, der mit systemctl verwaltet werden kann:
systemctl status autossh-example.service
systemctl restart autossh-example.service
...
Lizenz
MIT / BSD
Autoreninformationen
Diese Rolle wurde 2016 von Memiah Limited erstellt.
Install and configure autossh connections on RedHat systems.
ansible-galaxy install memiah.autossh