[LINUX] Ansible Rolle, um die erste Bestätigungsmeldung bei der Verbindung mit SSH zu verhindern

Dieser Eintrag ist der 11. Tagesbeitrag von Ansible 3 Adventskalender 2019. Es war nur frei, also habe ich es geschrieben.

Inhalt dieses Artikels

Annahme

Implementierungsmethode

Code

main.yml



# vars:
#     - ssh_host_and_user:
#         - from:
#             user: vagrant
#             host: A
#           to:
#             user: root
#             host: B

#Speichern Sie den öffentlichen Schlüssel des Root-Benutzers von Host B in einer Variablen
- name: Copy public key to variable
  slurp:
    src: "{{ ROOT_PUBLIC_KEY_HOST_B }}"
  with_items: "{{ ssh_host_and_user }}"
  register: to_host_public_key
  when: item.to.host == inventory_hostname

#Host A.,Holen Sie sich das Home-Verzeichnis eines beliebigen Benutzers
- name: Get home direcotry of from.user
  shell: |
    set -o pipefail
    egrep "^{{ item.from.user }}:" /etc/passwd | awk -F: '{ print $6 }'
  register: from_user_home_directory
  with_items: "{{ ssh_host_and_user }}"
  changed_when: false
  failed_when: from_user_home_directory.rc != 0
  when: item.from.host == inventory_hostname

#Der öffentliche Schlüssel des Root-Benutzers von Host B, bekannt von Host A._Schreiben Sie an die Hosts
- name: Add Host B infomation to known_hosts in Host A
  become: item.from.user
  known_hosts:
    key: "{{ item.to.host }}
          {{ hostvars[item.to.host].to_host_public_key.results[0].content | b64decode }}"
    name: "{{ item.to.host }}"
    path: "{{ hostvars[item.from.host].from_user_home_directory.results[my_idx].stdout }}/.ssh/known_hosts"
    state: present
  with_items: "{{ ssh_host_and_user }}"
  loop_control:
    index_var: my_idx
  when: item.from.host == inventory_hostname


Am Ende

Mit dem Modul unknown_hosts habe ich einen Prozess geschrieben, um die SSH-Erstbestätigungsnachricht nicht auszugeben.

Recommended Posts

Ansible Rolle, um die erste Bestätigungsmeldung bei der Verbindung mit SSH zu verhindern
[PostgreSQL] Gewähren der Superuser-Berechtigung, wenn die Anzahl der Benutzer (Rollen) mit Superuser-Berechtigung 0 beträgt.
Melden Sie sich mit SSH bei einem Remote-Server an
Als ich versuchte, das Root-Passwort mit ansible zu ändern, konnte ich nicht darauf zugreifen.
[Ansible] Verwendung der SSH-Kennwortauthentifizierung bei der Ausführung von ansible
Flugbahn bei SSH-Verbindung zum Gastbetriebssystem auf VirtualBox
Wenn Sie die Anfangsdaten von Django mit Relationen registrieren möchten
Ändern Sie die Meldung, die beim Anmelden bei Raspberry Pi angezeigt wird
Legen Sie die Authentifizierung mit öffentlichem Schlüssel für die SSH-Verbindung in Teraterm fest
Wenn Sie das Intervall der Achsenskala mit APLpy anpassen möchten