2017-06-06 4 views
0

Ich habe einen SHH-Schlüssel aus /home/renz/.shh/id_rsa.pub. Ich möchte dies zu meinem Ziel-Host in /root/.shh/authorized_keys durch ansible hinzufügen. Ich habe es versucht, aber nicht funktioniert.Wie kann ich meinen privaten Schlüssel zu einem Ziel-Host durch ansible hinzufügen

--- 
- hosts: snapzio 
    tasks: 
    - name: Set authorized key took from file 
     authorized_key: 
     user: master 
     state: present 
     key: "{{ lookup('file', '/home/renz/.ssh/id_rsa.pub') }}" 
     path: /root/.ssh/authorized_keys 

weil an erster Stelle kann ich nicht mit dem Host kommunizieren, weil mein Schlüssel nicht in den autorisierten Schlüsseln ist. Ich denke, diese Idee macht Sinn, wenn ich mit vielen Hosts kommunizieren möchte. anstatt einfach den Schlüssel manuell zu kopieren und einzufügen.

+1

Wenn Sie die Authentifizierung mit öffentlichen Schlüsseln nicht verwenden können, müssen Sie die Kennwortauthentifizierung verwenden. Ich verstehe nicht, worum es bei dieser Frage geht. – techraf

+0

Mögliches Duplikat von [So führen Sie Ansible Playbook auf mehreren Servern richtig aus?] (Https://stackoverflow.com/questions/44276426/how-to-run-ansible-playbook-to-multiple-servers-in- ein richtiger Weg) –

Antwort

0

Wie andere erwähnt haben, müssen Sie, wenn das Konto, das Sie mit Ansible verwenden, keinen SSH-Schlüssel installiert haben, auf die Kennwortauthentifizierung zurückgreifen. Unter der Annahme, InstallMyKey.yml ist Ihr Textbuch, Sie so etwas wie diese laufen kann:

ansible-playbook InstallMyKey.yml --ask-become-pass 

Sie müssen die remote_user: root Zeilen in YML zwischen den hosts: und tasks: Linien hinzuzufügen, geben Sie in dem Root-Passwort.

Angenommen, das Playbook ist erfolgreich und alles andere in der Root-SSH-Einstellungen korrekt, sollte der nächste Lauf eines Playbooks den SSH-Schlüssel renz verwenden und ohne ein Passwort weitermachen.

Verwandte Themen