t2d.ssh_known_hosts
sshknownhostsrole
To rola Ansible, która zarządza plikiem znanych hostów SSH, zwykle znajdującym się w /etc/ssh/ssh_known_hosts
lub ~user/.ssh/known_hosts
.
Głównym celem tej roli jest owinąć moduł sshknownhosts znajdujący się na https://github.com/bfmartin/ansible-sshknownhosts i dostosować go do Ansible Galaxy.
Wymagania
Każdy system podobny do Unix z serwerem openssh powinien działać.
Bezpieczeństwo
Jeśli plik ssh_known_hosts jest tworzony za pomocą ssh-keyscan bez weryfikacji kluczy, użytkownicy będą narażeni na ataki typu man-in-the-middle. Z drugiej strony, jeśli model bezpieczeństwa pozwala na takie ryzyko, ssh-keyscan może pomóc w wykrywaniu podrobionych plików kluczy lub ataków typu man-in-the-middle, które rozpoczęły się po utworzeniu pliku ssh_known_hosts.
(wzięte z podręcznika ssh-keyscan)
Dlatego można ręcznie określić odcisk palca, podając atrybut fingerprint
.
Zmienne Roli
Ta rola używa następujących zmiennych i ich wartości domyślnych:
ssh_known_hosts_path
: Plik docelowy do zapisu. Domyślnie to /etc/ssh/ssh_known_hosts, a ~user/.ssh/known_hosts to dobra alternatywa.
ssh_known_hosts_state
: obecny lub nieobecny. domyślnie to obecny.
ssh_known_hosts_enctype
: Rodzaj kodowania klucza publicznego do skanowania. Wybory to rsa, dsa, ecdsa lub ed25519. Domyślnie to rsa.
ssh_known_hosts_port
: Port do połączenia podczas skanowania zdalnego hosta. Domyślnie to 22.
ssh_known_hosts_keyscan
: Program używany do skanowania. Domyślnie to ssh-keyscan w bieżącej ścieżce.
ssh_known_hosts
: Lista słowników z hostem i jego atrybutami do skanowania:
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
Zależności
Brak.
Przykładowy 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
Licencja
BSD
Informacje o autorze
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