t2d.ssh_known_hosts
sshknownhostsrolle
Dies ist eine Ansible-Rolle, die die SSH-Known-Hosts-Datei verwaltet, die normalerweise unter /etc/ssh/ssh_known_hosts
oder ~user/.ssh/known_hosts
zu finden ist.
Der Hauptzweck dieser Rolle ist es, das sshknownhosts-Modul von https://github.com/bfmartin/ansible-sshknownhosts zu umhüllen und es für Ansible Galaxy geeignet zu machen.
Anforderungen
Jedes Unix-ähnliche System mit einem OpenSSH-Server sollte funktionieren.
Sicherheit
Wenn eine ssh_known_hosts-Datei mit ssh-keyscan erstellt wird, ohne die Schlüssel zu überprüfen, sind die Benutzer anfällig für Man-in-the-Middle-Angriffe. Andererseits kann ssh-keyscan helfen, manipulierte Schlüsseldateien oder Man-in-the-Middle-Angriffe zu erkennen, die nach der Erstellung der ssh_known_hosts-Datei begonnen haben.
(Aus der ssh-keyscan-Man-Seite)
Daher können Sie einen Fingerabdruck manuell angeben, indem Sie das Attribut fingerprint
bereitstellen.
Rollenvariablen
Diese Rolle verwendet die folgenden Variablen und deren Standardwerte:
ssh_known_hosts_path
: Die Ziel-Datei, in die geschrieben werden soll. Der Standardwert ist /etc/ssh/ssh_known_hosts und ~user/.ssh/known_hosts ist eine gute Alternative.
ssh_known_hosts_state
: vorhanden oder nicht vorhanden. Der Standardwert ist vorhanden.
ssh_known_hosts_enctype
: Der zu scannende Publikums-Schlüsselcodierungstyp. Auswahlmöglichkeiten sind rsa, dsa, ecdsa oder ed25519. Standard ist rsa.
ssh_known_hosts_port
: Der Port, mit dem beim Scannen des Remote-Hosts verbunden werden soll. Der Standardwert ist 22.
ssh_known_hosts_keyscan
: Das Programm, das zum Scannen verwendet werden soll. Der Standardwert ist ssh-keyscan im aktuellen Pfad.
ssh_known_hosts
: Eine Liste von Dictionaries mit dem Host und seinen Attributen, die gescannt werden sollen:
ssh_known_hosts:
- name: beispiel.com
state: vorhanden
dest: /etc/ssh/ssh_known_hosts
enctype: rsa
port: 22
keyscan: ssh-keyscan
aliases:
- www.beispiel.com
- www2.beispiel.com
Abhängigkeiten
Keine.
Beispiel Playbook
- hosts: alle
vars:
ssh_known_hosts:
- name: beispiel.com
state: vorhanden
dest: /etc/ssh/ssh_known_hosts
enctype: rsa
port: 22
keyscan: ssh-keyscan
aliases:
- www.beispiel.com
- www2.beispiel.com
- name: srv.beispiel.com
fingerprint: AAAAE2VjZHNhLXNoYTItbmlzdHAyN...
roles:
- role: sshknownhosts
Lizenz
BSD
Autor Informationen
Byron F. Martin
Email: 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