2
EC2 인스턴스를 provison하고 Localhost에서 Ansible을 사용하여 LAMP 서버를 설치하려고합니다. 인스턴스를 성공적으로 프로비저닝했지만 "ssh를 통해 호스트에 연결하지 못했습니다."라는 오류로 인해 apache, php 및 mysql을 설치할 수 없습니다.Anshost - ssh를 통해 호스트에 연결하지 못했습니다.
OS : 엘 캐피 10.11.6
Ansible :`---
- 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 파일의 내용 : 여기 2.0.2.0
은 플레이 북이다
[defaults]
private_key_file=/Users/nico/.ssh/xxxxx.pem
재고 :
플레이 북을 실행하는 데3210lamp 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
}
. :(
문제 해결 : 플레이 북 실행 명령 끝에 -c paramiko 추가 – NicoleB
'ansible-playbook -i inventory ec2_up.yml -e project_name = "lamp_server"-vvvv -c paramiko'works – NicoleB
이 질문에 대한 답변에 이것을 추가하고 "accepted"상자를 체크하십시오. 대답. –