Ich bin neu bei Ansible. Ich kann es testen und es funktioniert gut mit meiner Testanforderung. Um eine Verbindung zwischen dem Verwaltungsknoten und dem Client-Knoten herzustellen, verwende ich bereits erstelltes ssh-Schlüsselpaar. Wie kann ich einen anderen Knoten mit einem anderen SSH-Schlüsselpaar verwenden? Als Referenz betrachte ich 3 ec2-instance mit verschiedenen Schlüsselpaaren.Ansible mit mehreren SSH-Schlüsselpaar
28
A
Antwort
34
Gute Nachrichten - in einem einfachen Anwendungsfall ist das ziemlich einfach. Verwenden Sie einfach den ansible_ssh_private_key_file
Parameter in Ihrem Ansible inventory.
Hier sind einige Beispiele aus meiner Personalakte entwendet:
$ cat hosts.ini
[server1]
54.1.2.3 ansible_ssh_private_key_file=~/.ssh/server1.pem
[testservers]
ec2-54-2-3-4.compute-1.amazonaws.com ansible_ssh_private_key_file=~/.ssh/aws-testserver.pem ansible_ssh_user=ubuntu
ec2-54-2-3-5.compute-1.amazonaws.com ansible_ssh_private_key_file=~/.ssh/aws-testserver.pem ansible_ssh_user=ubuntu
[piwall]
10.0.0.88 ansible_ssh_private_key_file=~/.ssh/raspberrypi.pem ansible_ssh_user=pi
21
tedder42 korrekt ist, jedoch gibt es einen besseren Weg, es zu tun.
Siehe ansible_ssh_private_key_file
here.
ich in meinem Host-Dateien die folgenden
# SSH Keys configuration
[all_servers:vars]
ansible_ssh_private_key_file = <YOUR PRIVATE KEY LOCATION>
# Server configuration
[all_servers:children]
elastic_servers
nginx_servers
[elastic_servers]
44.22.11.22
44.55.66.77
22.11.22.33
[nginx_servers]
22.24.123.123
233.111.222.11
Wenn Sie mehrere Tasten Konfiguration haben, können Sie so etwas wie die folgenden
[nginx:vars]
ansible_ssh_private_key_file = <YOUR PRIVATE KEY LOCATION>
[app:vars]
ansible_ssh_private_key_file = <YOUR 2nd PRIVATE KEY LOCATION>
[nginx:children]
nginx_servers
[app:children]
app_servers
[nginx_servers]
1.2.3.4
[app_servers]
5.5.5.5
6.6.6.6
tun Das ist viel sauberer als tedder42 Antwort. Dies ist nützlich, wenn Sie mehrere Schlüssel für mehrere Server haben.
Andernfalls können Sie den Schlüssel stattdessen in die Datei ansible.cfg aufnehmen.
Verwandte Themen
- 1. Ansible: Host in mehreren Gruppen
- 2. Ansible: SSH Fehler mit ansible
- 3. Wie schreibe ich einen Ansible-Handler mit mehreren Aufgaben?
- 4. Ansible Schreibausgabe von mehreren Aufgaben in eine einzige Datei
- 5. Ansible Dateimanipulation
- 6. mysql Replikation mit ansible
- 7. ansible Einheit Schleife mit
- 8. Ansible Kopiermodul mit Artikeln
- 9. Templating YAML mit ansible
- 10. ansible become_user mit variabler
- 11. ansible Kommandomodul mit NVM
- 12. Ansible: Wie kann ich das System CentOS mit Ansible aktualisieren
- 13. Ansible: SSH-Schlüssel ändern
- 14. Ansible Playbook-weite Variable
- 15. Ansible: Ansible Assembly Regexp zu Assembliert bestimmte Dateien
- 16. Installieren v8js-0.1.3 mit ansible
- 17. ansible Authentifizierung mit unterschiedlichen Passwörtern
- 18. ansible Aufgabe mit variabler Ausgabe
- 19. Konfigurieren von Openfire mit Ansible
- 20. Installieren Bundler Gem mit Ansible
- 21. mehrere Verzeichnisse erstellen mit ansible
- 22. Plex mit Ansible und Docker
- 23. Verwendung von easy_install3 mit ansible
- 24. Verwalten von Umgebungsvariablen mit ansible
- 25. ansible mit benutzerdefinierten ssh-Konfigurationsdatei
- 26. beginnend mit Mongod über ansible
- 27. Update Ansible 1.9.4 zu Ansible 2.0
- 28. Ansible Konfigurationsdateien
- 29. Ansible-Inventardatei für einmalige Ansible-Wiedergabe schreiben
- 30. .ansible/tmp/ansible-tmp- * Berechtigung verweigert
Dank Teddd funktioniert es gut für mich. Ist es möglich, denselben Schlüssel für alle Server derselben Gruppe zu verwenden? Ich meine zu sagen, wenn ich den gleichen Schlüssel für 10 Test-Server habe, wie oben beschrieben, muss ich die Schlüsseldetails für alle Test-Server separat angeben. Irgendeine Lösung ist da, damit ich den gleichen Schlüssel für alle Server derselben Gruppe weitergeben kann. Danke –
@sumitkumar, soweit ich weiß, können Sie die Variablen in hosts.ini nicht gruppieren. Sie können jedoch eine [ssh_config] (http://linux.die.net/man/5/ssh_config) Datei verwenden, die Ihnen helfen kann. – tedder42
Sie können sicher: http://docs.ansible.com/intro_inventory.html#group-variables [Testserver: vars] ansible_ssh_private_key_file = ~/.ssh/aws-testserver.pem – oley