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.

Über das Projekt

Install and configure autossh connections on RedHat systems.

Installieren
ansible-galaxy install memiah.autossh
GitHub Repository
Lizenz
Unknown
Downloads
134
Besitzer