t2d.ssh_known_hosts
rolsshconocidos
Esta es un rol de ansible que gestiona el archivo de hosts conocidos de SSH, que generalmente se encuentra en /etc/ssh/ssh_known_hosts
o ~user/.ssh/known_hosts
.
El objetivo principal de este rol es envolver el módulo sshknownhosts que se encuentra en https://github.com/bfmartin/ansible-sshknownhosts y hacerlo adecuado para Ansible Galaxy.
Requisitos
Cualquier sistema similar a Unix con un servidor openssh debería funcionar.
Seguridad
Si se construye un archivo ssh_known_hosts utilizando ssh-keyscan sin verificar las claves, los usuarios serán vulnerables a ataques de man in the middle. Por otro lado, si el modelo de seguridad permite este riesgo, ssh-keyscan puede ayudar en la detección de archivos de claves alterados o ataques de man in the middle que hayan comenzado después de que se creó el archivo ssh_known_hosts.
(tomado de la página del manual de ssh-keyscan)
Por lo tanto, puedes especificar una huella digital manualmente proporcionando el atributo fingerprint
.
Variables del Rol
Este rol utiliza las siguientes variables y sus valores predeterminados:
ssh_known_hosts_path
: El archivo de destino al que se escribirá. El valor predeterminado es /etc/ssh/ssh_known_hosts y ~user/.ssh/known_hosts es una buena alternativa.
ssh_known_hosts_state
: presente o ausente. El valor predeterminado es presente.
ssh_known_hosts_enctype
: El tipo de codificación de clave pública a buscar. Las opciones son rsa, dsa, ecdsa o ed25519. El valor predeterminado es rsa.
ssh_known_hosts_port
: El puerto al que conectarse al escanear el host remoto. El valor predeterminado es 22.
ssh_known_hosts_keyscan
: El programa que se utilizará para escanear. El valor predeterminado es ssh-keyscan en la ruta actual.
ssh_known_hosts
: Lista de diccionarios con el host y sus atributos a escanear:
ssh_known_hosts:
- name: example.com
state: present
dest: /etc/ssh/ssh_known_hosts
enctype: rsa
port: 22
keyscan: ssh-keyscan
aliases:
- www.example.com
- www2.example.com
Dependencias
Ninguna.
Ejemplo de Playbook
- hosts: all
vars:
ssh_known_hosts:
- name: example.com
state: present
dest: /etc/ssh/ssh_known_hosts
enctype: rsa
port: 22
keyscan: ssh-keyscan
aliases:
- www.example.com
- www2.example.com
- name: srv.example.com
fingerprint: AAAAE2VjZHNhLXNoYTItbmlzdHAyN...
roles:
- role: sshknownhosts
Licencia
BSD
Información del Autor
Byron F. Martin
Correo: http://www.bfmartin.ca/contact
Github: bfmartin
This is an ansible role that manages the SSH known hosts file usually located at /etc/ssh/ssh_known_hosts or ~user/.ssh/known_hosts.
ansible-galaxy install t2d.ssh_known_hosts