memiah.autossh
AutoSSH
Un rol de Ansible que instala y configura múltiples conexiones de autossh, permitiendo el reenvío de puertos desde el servidor local a servidores remotos a través de SSH.
Requisitos
Asumimos que el usuario de SSH existe y tiene los permisos correctos para acceder al servidor remoto. También debe haber una clave SSH correspondiente presente y disponible en el servidor local (/root/.ssh/id_rsa
o definida por la configuración de cada conexión).
Variables del Rol
Las variables disponibles se enumeran a continuación, junto con los valores predeterminados (ver defaults/main.yml
):
autossh_connections:
- id: "ejemplo" # Identificador único de conexión (caracteres: "a-z,0-9,-").
user: "" # Nombre de usuario utilizado para conectarse al servidor remoto.
server: "" # IP / nombre del servidor remoto.
server_key_type: "" # Tipo de clave del servidor remoto, predeterminado a autossh_default_server_key_type. (Opcional)
local_port: "" # Puerto local a reenviar.
dest_server: "" # IP / nombre a usar en el servidor remoto, predeterminado a autossh_default_dest_server. (Opcional)
dest_port: "" # Puerto en el servidor remoto al que conectarse.
identity_file: "" # Ruta a la clave privada SSH, predeterminado a autossh_default_ssh_key_path. (Opcional)
Agrega un conjunto de propiedades de conexión SSH por conexión. Se pueden listar múltiples conexiones aquí.
autossh_path: "/usr/bin/autossh"
Ruta a autossh.
autossh_ssh_dir: "/root/.ssh"
Directorio para almacenar la configuración de SSH.
autossh_systemd_dir: "/etc/systemd/system/"
Ruta al directorio del sistema systemd.
autossh_known_hosts_file: "{{ autossh_ssh_dir }}/known_hosts"
Ruta al archivo de hosts conocidos.
autossh_default_server_key_type: "ecdsa"
Tipo de clave predeterminado del servidor remoto. Anula este valor para una conexión única utilizando la opción server_key_type
en la lista de autossh_connections
.
autossh_default_dest_server: "127.0.0.1"
IP / nombre predeterminado para usar en el servidor remoto, lo más probable es que sea localhost / 127.0.0.1. Anula este valor para una conexión única usando la opción dest_server
en la lista de autossh_connections
.
autossh_default_identity_file: "/root/.ssh/id_rsa"
Ruta al archivo desde el cual se lee la identidad (clave privada) para la autenticación de clave pública. El valor predeterminado es /root/.ssh/id_rsa
para la versión 2 del protocolo. Anula este valor para una conexión única usando la opción identity_file
en la lista de autossh_connections
.
Dependencias
Ninguna.
Ejemplo de Playbook
- hosts: servers
vars_files:
- vars/main.yml
roles:
- { role: memiah.autossh }
Dentro de vars/main.yml
:
autossh_connections:
- id: "ejemplo"
user: "nombre_usuario"
server: "servidor.remoto"
local_port: "33061"
dest_port: "3306"
Reenvía el puerto local 33061
al puerto 3306
en servidor.remoto
, conectándose a través de SSH como [email protected]
.
Esto creará un nuevo servicio llamado autossh-ejemplo.service
(autossh-{id}.service) que se puede gestionar con systemctl:
systemctl status autossh-ejemplo.service
systemctl restart autossh-ejemplo.service
...
Licencia
MIT / BSD
Información del Autor
Este rol fue creado en 2016 por Memiah Limited.
Install and configure autossh connections on RedHat systems.
ansible-galaxy install memiah.autossh