yurihs.autossh
Rol de Ansible: autossh
- Instala autossh y servicios de systemd para ejecutarlo y mantener túneles SSH abiertos.
- Escanea claves de host para evitar mensajes de verificación de claves de host.
Forkeado de memiah/ansible-role-autossh para cambiar los sistemas objetivo a Debian en lugar de RedHat.
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 disponible en el servidor local.
Variables del rol (valores predeterminados)
autossh_connections:
- id: "ejemplo" # Identificador único simple para la conexión (caracteres: "a-z,0-9,-").
user: "" # Nombre de usuario utilizado para conectarse al servidor remoto.
server: "" # IP / nombre de host 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 redirigir.
dest_server: "" # IP / nombre de host 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 de SSH, predeterminada a autossh_default_ssh_key_path. (Opcional)
Agrega un conjunto de propiedades de conexión SSH por conexión. Se pueden listar varias 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 de 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. Sobrescribe este valor para una conexión única usando la opción server_key_type
en la lista autossh_connections
.
autossh_default_dest_server: "127.0.0.1"
IP / nombre de host predeterminado a usar en el servidor remoto, que probablemente será localhost / 127.0.0.1. Sobrescribe este valor para una conexión única usando la opción dest_server
en la lista 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 predeterminado es /root/.ssh/id_rsa
para la versión de protocolo 2. Sobrescribe este valor para una conexión única usando la opción identity_file
en la lista autossh_connections
.
Ejemplo
Redirigir el puerto local 33061
al puerto 3306
en db.ejemplo.com
, conectándose via SSH como [email protected]
.
- hosts: backup
vars:
autossh_connections:
- id: mysql
user: backup
server: db.ejemplo.com
local_port: '33061'
dest_port: '3306'
roles:
- role: yurihs.autossh
become: true
Esto creará un nuevo servicio llamado autossh-backup.service
, que puede ser gestionado con systemctl:
systemctl status autossh-backup.service
systemctl restart autossh-backup.service
...
Autores
Este rol fue creado en 2016 por Memiah Limited.
Adaptación a Debian en 2019 por yurihs.
Ansible role for configuring multiple autossh connections
ansible-galaxy install yurihs.autossh