2016-09-29 181 views
2

我想提供一个EC2实例,并使用本地主机上的Ansible在它上安装LAMP服务器。我已成功配置实例,但由于此错误“无法通过ssh连接到主机”,我无法安装apache,php和mysql。Ansible - 无法通过SSH连接到主机

OS:埃尔卡皮坦10.11.6

Ansible:2.0.2.0

这里是剧本:`---

- 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 

的ansible.cfg文件的内容:

[defaults] 
private_key_file=/Users/nico/.ssh/xxxxx.pem 

库存:

lamp  ansible_ssh_host=<EC2 IP> ansible_user=ubuntu 

用于运行剧本的命令:

ansible-playbook -i inventory ec2_up.yml -e project_name="lamp_server" -vvvv 

输出:

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 
} 

我已经读了很多关于此错误的线程,但没有任何帮助我。 :(

+1

问题解决了:在运行该剧本的命令的结束时加入的paramiko -c – NicoleB

+1

'ansible-playbook -i inventory ec2_up.yml -e project_name =“lamp_server”-vvvv -c paramiko'作品 – NicoleB

+0

请将此添加到此问题的答案中,并选中“接受”框。没有任何错误的回答和接受你自己的回答。 –

回答

0

ansible-剧本-i库存ec2_up.yml -e PROJECT_NAME = “lamp_server” -vvvv -c的paramiko

相关问题