Ansible, woher kommen die PreferredAuthentications-SSH-Einstellungen?

Ansible, woher kommen die PreferredAuthentications-SSH-Einstellungen?

Ich verwende ein Standard-Ansible-Playbook (v2.3.1) mit SSH-Benutzernamen- und Passworteinstellungen. Wenn ich die Einstellung „-vvvv“ verwende, kann ich sehen, wie diese SSH-Befehle generiert werden

EXEC ssh -C -o ControlMaster=auto -o ControlPersist=60s 
-o StrictHostKeyChecking=no -o Port=2222 
-o KbdInteractiveAuthentication=no 
-o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey 
-o PasswordAuthentication=no -o User=dc_user -o ConnectTimeout=10

Woher werden im obigen Fall die Einstellungen „PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey“ gezogen? Ich glaube, diese stammen aus den SSH-Konfigurationseinstellungen des Clients, aber ist das richtig?

Ich verstehe, dass ich die SSH-Argumente überschreiben kann, indem ich dies in meiner „ansaible.cfg“ definiere.

[ssh_connection]
scp_if_ssh=True
ssh_args = -o ControlMaster=auto -o ControlPersist=60s -o PreferredAuthentications=publickey

Kann mir das jemand erklären? Danke

Antwort1

Ich beobachte, dass -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickeyfest codiert ist in derQuellcode

Wenn Sie ssh_argsin überschreiben ansible.cfg, wird -o PreferredAuthentications=publickeyzur SSH-Befehlszeile hinzugefügt, aber dies ersetzt nicht-o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey

Beispiel:

$ grep ssh_args /etc/ansible/ansible.cfg 
#ssh_args = -C -o ControlMaster=auto -o ControlPersist=60s
ssh_args = -o ControlMaster=auto -o ControlPersist=60s -o     PreferredAuthentications=publickey
$ ansible rhel7a -m ping -vvvv |grep EXEC
<rhel7a> SSH: EXEC ssh -vvv -o ControlMaster=auto -o ControlPersist=60s -o PreferredAuthentications=publickey -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=vagrant -o ConnectTimeout=10 -o ControlPath=/home/user/.ansible/cp/13dd447a86 rhel7a '/bin/sh -c '"'"'echo ~ && sleep 0'"'"''

verwandte Informationen