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.

Acerca del proyecto

Install and configure autossh connections on RedHat systems.

Instalar
ansible-galaxy install memiah.autossh
Licencia
Unknown
Descargas
134
Propietario