2016-07-12 4 views
1

existiert Ich versuche, eine Liste von Fakten über meine azur VM zur Verfügung zu erhalten, indem[WARNUNG]: zur Verfügung gestellt Host-Liste leer ist, nur localhost ist verfügbar, wenn Inventar

ansible -m setup hostname 

wie beschrieben in der FAQ läuft

So habe ich

ansible -m setup my-vm1 

, die ich von der Maschine in der azure Cloud ausführen, die ich normalerweise mein ansible commnads aus (die Maschine betreiben ich normalerweise erfolgreich t sprechen verwenden o und ändern Sie den betreffenden Host) Daraus ergibt sich:

[WARNING]: provided hosts list is empty, only localhost is available 

Jedoch habe ich ein ansible Inventar in/etc/ansible/hosts:

40.127.174.129 
my-vm1.westeurope.cloudapp.azure.com ansible_sudo_pass=MyPassword 
my-vm2.westeurope.cloudapp.azure.com 
my-vm3.westeurope.cloudapp.azure.com 

Wenn ich laufen den gleichen Befehl den FQDN I mit bekomme folgendes:

[[email protected]]$ ansible -m setup my-vm1.westeurope.cloudapp.azure.com 

my-vm1.westeurope.cloudapp.azure.com | UNREACHABLE! => { 
"changed": false, 
"msg": "Failed to connect to the host via ssh.", 
"unreachable": true 

Was mache ich falsch?

Antwort

1

Ich brauchte

ansible -m setup hostname -u username 

wobei Benutzername der Benutzer mit auf dem entfernten Rechner einzuloggen war!

1

Es scheint, dass Sie nicht erwähnt haben, wie Sie sich gegenüber den Hosts authentifizieren. Können Sie sich mit dem Server verbinden, den Sie einrichten möchten? Ansible versucht standardmäßig, über den Port 22 ssh in den Server zu gelangen. Wenn Sie einen benutzerdefinierten SSH-Port verwenden, können Sie benutzerdefinierte Ports in Ihrer Inventardatei definieren.

Zweite denken würde Anmeldeinformationen überprüfen, verwenden Sie die Authentifizierung auf Schlüsselbasis? Wenn ja, versuche ssh username @ yourrazureinstance zu tun und schau, ob es funktioniert. Wenn Sie die kennwortbasierte Authentifizierung verwenden, legen Sie die Anmeldeinformationen für die Inventardatei fest oder verwenden Sie den Parameter --ask pass für das ssh-Kennwort.

Refer this link for more info

+0

Ja, ich kann SSH von außerhalb der Cloud mit dem Benutzernamen Kennwortauthentifizierung an den Server. Von der ansprechbaren Maschine in der Cloud habe ich sshkeys eingerichtet und so funktionieren die ansible Befehle. Bei einigen Aufgaben verwende ich 'werden' und der ansible_sudo_pass im Inventar kommt dann ins Spiel. Ich kann auch mit der ssh [email protected] auf die Zielmaschine zugreifen, wie Sie es vorschlagen. – andrea

+0

Können Sie von Ihrem Ansible-Server aus auf die azure-Instanz zugreifen? Versuchen Sie, eine ansible_ssh_private_key_file-Variable einzurichten, und sehen Sie, ob das hilft. 'your_azure_host ansible_ssh_private_key_file =/home/beispiel/.ssh/aws.pem' –

+0

Ja Ich kann SSH von der ansible Maschine (auch in azurblau) mit der ssh me @ my-vm1 .... und ich eine Sitzung bekommen. Das Hinzufügen der Variablen ansible_ssh_private_key_file zum Inventar hat nicht geholfen. – andrea

Verwandte Themen