2016-07-15 28 views
0

私は覚えようとしていますが、o'riley Ansible Upとrunning bookに従っています。書籍の入門セクションでエラー:ssh経由でホストに接続できません

、それはansible、VirtualBoxのと放浪をインストールしてから、CLI経由で実行するように私に尋ねる:

その後
vagrant init ubuntu/trusty64 

vagrant up 

私は浮浪者ssh経由または経由でVMにsshをすることができます

ssh [email protected] -p 2222 -i /Users/XXX/playbooks/.vagrant/machines/default/virtualbox/private_key 

次は、次のようになりますhostsファイル作成されます。最後に

testserver ansible_ssh_host=127.0.0.1 ansible_ssh_port=2222 \ ansible_ssh_user=vagrant \ ansible_ssh_private_key_file=.vagrant/machines/default/virtualbox/private_key 

をこのコマンドを実行している:

ansible TESTSERVER -iホストが私を取得ピング

を-m:-vvvを追加

testserver | UNREACHABLE! => { 
    "changed": false, 
    "msg": "Failed to connect to the host via ssh.", 
    "unreachable": true 
} 

は私を取得します。

No config file found; using defaults 
<127.0.0.1> ESTABLISH SSH CONNECTION FOR USER: None 
<127.0.0.1> SSH: EXEC ssh -C -q -o ControlMaster=auto -o ControlPersist=60s -o Port=2222 -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o ConnectTimeout=10 -o ControlPath=/Users/XXX/.ansible/cp/ansible-ssh-%h-%p-%r 127.0.0.1 '/bin/sh -c '"'"'(umask 77 && mkdir -p "` echo $HOME/.ansible/tmp/ansible-tmp-1468541275.7-255802522359895 `" && echo ansible-tmp-1468541275.7-255802522359895="` echo $HOME/.ansible/tmp/ansible-tmp-1468541275.7-255802522359895 `") && sleep 0'"'"'' 
testserver | UNREACHABLE! => { 
    "changed": false, 
    "msg": "Failed to connect to the host via ssh.", 
    "unreachable": true 
} 

私はansible_ssh_private_key_file修正してみましたホストファイルは秘密鍵の完全なパスを指し示すが、それでも動作しない:

ansible testserver -i hosts -m ping -vvv 
No config file found; using defaults 
<127.0.0.1> ESTABLISH SSH CONNECTION FOR USER: None 
<127.0.0.1> SSH: EXEC ssh -C -q -o ControlMaster=auto -o ControlPersist=60s -o Port=2222 -o KbdInteractiveAuthentication=no -o PreferredAuthentications=gssapi-with-mic,gssapi-keyex,hostbased,publickey -o PasswordAuthentication=no -o ConnectTimeout=10 -o ControlPath=/Users/XXX/.ansible/cp/ansible-ssh-%h-%p-%r 127.0.0.1 '/bin/sh -c '"'"'(umask 77 && mkdir -p "` echo $HOME/.ansible/tmp/ansible-tmp-1468541370.61-137685863794569 `" && echo ansible-tmp-1468541370.61-137685863794569="` echo $HOME/.ansible/tmp/ansible-tmp-1468541370.61-137685863794569 `") && sleep 0'"'"'' 
testserver | UNREACHABLE! => { 
    "changed": false, 
    "msg": "Failed to connect to the host via ssh.", 
    "unreachable": true 
} 

これは私のAnsibleバージョンです:

ansible --version ansible 2.1.0.0 設定ファイル= 構成されたモジュールの検索パス=デフォルトW/Oオーバーライド

誰もが任意のアイデアなぜansible ISNを持っています私の迷惑メールVMに接続していませんか?

+0

ヘルプが必要な場合は、書式設定で質問をクリーンアップする必要があります。 – Rob

+0

ctrl-kがコードをハイライト表示します。 –

+0

編集を手伝ってくれてありがとうRob私はまだSOエディタと仕事をしていません。 – user2221830

答えて

0

sshコマンドで最初に有効になったインベントリ変数は、表示されません。在庫ファイルは本当にこのように見えますか?

testserver ansible_ssh_host=127.0.0.1 ansible_ssh_port=2222 \ ansible_ssh_user=vagrant \ ansible_ssh_private_key_file=.vagrant/machines/default/virtualbox/private_key 

ここにはバックスラッシュを使用しないでください。直接再フォーマットは

testserver ansible_ssh_host=127.0.0.1 ansible_ssh_port=2222 ansible_ssh_user=vagrant ansible_ssh_private_key_file=.vagrant/machines/default/virtualbox/private_key 

です。しかし、長期的には、おそらくsplit these out into separate host_vars filesになります。

+0

問題の銃の息子。これは本にもありましたが、私はそれを見て、コードをコピー/ペーストしました。 – user2221830

関連する問題