Ich versuche eine EC2-Instanz bereitzustellen und einen LAMP-Server mit Ansible von localhost zu installieren. Ich habe die Instanz erfolgreich bereitgestellt, aber ich konnte apache, php und mysql aufgrund dieses Fehlers nicht installieren. "Es konnte keine Verbindung zum Host über ssh hergestellt werden."Ansible-Verbindung zum Host über ssh nicht möglich
OS: El Capitan 10.11.6
ansible: 2.0.2.0
Hier ist das Textbuch: `---
- hosts: localhost
connection: local
gather_facts: no
vars_files:
- "vars/{{ project_name }}.yml"
- "vars/vpc_info.yml"
tasks:
- name: Provision
local_action:
module: ec2
region: "xxxxxx"
vpc_subnet_id: "xxxxxx"
assign_public_ip: yes
key_name: "xxxxxxx"
instance_type: "t2.nano"
image: "xxxxxxxx"
wait: yes
instance_tags:
Name: "LAMP"
class: "test"
environment: "dev"
project: "{{ project_name }}"
az: a
exact_count: 1
count_tag:
Name: "LAMP"
monitoring: yes
register: ec2a
- hosts: lamp
roles:
- lamp_server
Der Inhalt der Datei ansible.cfg:
[defaults]
private_key_file=/Users/nico/.ssh/xxxxx.pem
Das Inventar:
lamp ansible_ssh_host=<EC2 IP> ansible_user=ubuntu
Der Befehl für die Ausführung des Textbuch verwendet:
ansible-playbook -i inventory ec2_up.yml -e project_name="lamp_server" -vvvv
Ausgang:
ESTABLISH SSH CONNECTION FOR USER: ubuntu
<xxxxxxxxxx> SSH: EXEC ssh -C -vvv -o ControlMaster=auto -o ControlPersist=60s -o 'IdentityFile="/Users/nico/.ssh/xxxxxxx.pem"' -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o User=ubuntu -o ConnectTimeout=10 -o ControlPath=/Users/nico/.ansible/cp/ansible-ssh-%h-%p-%r xxxxxxx '/bin/sh -c '"'"'(umask 22 && mkdir -p "` echo $HOME/.ansible/tmp/ansible-tmp-1475186461.08-93383010782630 `" && echo "` echo $HOME/.ansible/tmp/ansible-tmp-1475186461.08-93383010782630 `")'"'"''
52.28.251.117 | UNREACHABLE! => {
"changed": false,
"msg": "Failed to connect to the host via ssh.",
"unreachable": true
}
ich viele Threads gelesen haben in Bezug auf diesen Fehler, aber mir nichts half. :(
Problem gelöst: -c paramiko am Ende des Befehls hinzugefügt, die das Textbuch laufen – NicoleB
'ansible-playbook -i inventory ec2_up.yml -e project_name =" lamp_server "-vvvv -c paramiko' funktioniert – NicoleB
Bitte füge dies der Antwort auf diese Frage hinzu und kontrolliere das Feld "accepted". Nichts falsches Beantworten und Akzeptieren deiner eigenen Antworten. –