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.
Install and configure autossh connections on RedHat systems.
ansible-galaxy install memiah.autossh