memiah.autossh

AutoSSH

Un rôle Ansible qui installe et configure plusieurs connexions autossh, permettant le transfert de ports du serveur local vers des serveurs distants via SSH.

Exigences

Nous supposons que l'utilisateur SSH existe et a les bonnes permissions pour accéder au serveur distant. Une clé SSH correspondante doit également être présente et disponible sur le serveur local (/root/.ssh/id_rsa ou définie pour chaque configuration de connexion).

Variables du rôle

Les variables disponibles sont listées ci-dessous, avec des valeurs par défaut (voir defaults/main.yml) :

autossh_connections:
  - id: "exemple" # Identifiant de connexion simple et unique (caractères : "a-z,0-9,-").
    user: "" # Nom d'utilisateur utilisé pour se connecter au serveur distant.
    server: "" # IP / nom d'hôte du serveur distant.
    server_key_type: "" # Type de clé du serveur distant, par défaut à autossh_default_server_key_type. (Optionnel)
    local_port: "" # Port local à transférer.
    dest_server: "" # IP / nom d'hôte à utiliser sur le serveur distant, par défaut à autossh_default_dest_server. (Optionnel)
    dest_port: "" # Port sur le serveur distant auquel se connecter.
    identity_file: "" # Chemin vers la clé privée SSH, par défaut à autossh_default_ssh_key_path. (Optionnel)

Ajoutez un ensemble de propriétés de connexion SSH par connexion. Plusieurs connexions peuvent être listées ici.

autossh_path: "/usr/bin/autossh"

Chemin vers autossh.

autossh_ssh_dir: "/root/.ssh"

Répertoire pour stocker la configuration SSH.

autossh_systemd_dir: "/etc/systemd/system/"

Chemin vers le répertoire système systemd.

autossh_known_hosts_file: "{{ autossh_ssh_dir }}/known_hosts"

Chemin vers le fichier des hôtes connus.

autossh_default_server_key_type: "ecdsa"

Type de clé par défaut du serveur distant. Remplacez cette valeur pour une seule connexion en utilisant l'option server_key_type dans la liste autossh_connections.

autossh_default_dest_server: "127.0.0.1"

IP / nom d'hôte par défaut à utiliser sur le serveur distant, ce sera très probablement localhost / 127.0.0.1. Remplacez cette valeur pour une seule connexion en utilisant l'option dest_server dans la liste autossh_connections.

autossh_default_identity_file: "/root/.ssh/id_rsa"

Chemin vers le fichier à partir duquel l'identité (clé privée) pour l'authentification par clé publique est lue. La valeur par défaut est /root/.ssh/id_rsa pour la version de protocole 2. Remplacez cette valeur pour une seule connexion en utilisant l'option identity_file dans la liste autossh_connections.

Dépendances

Aucune.

Exemple de playbook

- hosts: serveurs
  vars_files:
    - vars/main.yml
  roles:
     - { role: memiah.autossh }

Dans vars/main.yml :

autossh_connections:
  - id: "exemple"
    user: "nom_utilisateur"
    server: "serveur.distant"
    local_port: "33061"
    dest_port: "3306"

Transfère le port local 33061 vers le port 3306 sur serveur.distant, se connectant via SSH en tant que [email protected].

Cela créera un nouveau service nommé autossh-exemple.service (autossh-{id}.service) qui peut être géré par systemctl :

systemctl status autossh-exemple.service
systemctl restart autossh-exemple.service
...

Licence

MIT / BSD

Informations sur l'auteur

Ce rôle a été créé en 2016 par Memiah Limited.

À propos du projet

Install and configure autossh connections on RedHat systems.

Installer
ansible-galaxy install memiah.autossh
Licence
Unknown
Téléchargements
134
Propriétaire