2017-10-27 3 views
0

ssh.cfgファイルを使用してログインできるec2インスタンスのリストを設定しました。&公開アクセス可能なNATインスタンス経由のエージェント転送次の:アシスタント/ aws:ssh設定ファイルによるプライベートec2インスタンスへのssh接続のテスト

ssh -F ssh.cfg [email protected]_instance_ip 

ssh.cfgは、以下の構造を有する:

Host 10.40.* 
    ProxyCommand   ssh -W %h:%p [email protected]_instance_ip -o StrictHostKeyChecking=no 


Host * 
    ControlMaster   auto 
    ControlPath   ~/.ssh/mux-%[email protected]%h:%p 
    ControlPersist   60m 
    ForwardAgent   yes 

マイ・ネットワークはもちろん10.40.*です。これを行う方法は

ansible -i inventoryfile -m ping all 

あります:

は、私は次のように(inventoryfileで定義されている)、そのようなホストにansible接続をテストしたいですか?

編集ansible pingが失敗したかの例:しかし

ansible -i inventoryfile -m ping 10.40.187.22 

10.40.187.22 | UNREACHABLE! => { 
    "changed": false, 
    "msg": "Failed to connect to the host via ssh: Permission denied (publickey).\r\n", 
    "unreachable": true 
} 

:ここ

ssh -F ssh.cfg [email protected] 
Last login: Fri Oct 27 07:36:05 2017 from private_ip_of_NAT 
[email protected]:~$ exit 

ansible.cfg

[defaults] 
nocows = 1 
callback_whitelist = profile_tasks 
host_key_checking = False 
retry_files_enabled = False 
gathering = explicit 
forks=50 
vault_password_file = .vault 

[ssh_connection] 
ssh_args = -F ssh.cfg 
pipelining = True 

ですEDIT2pingコマンドでユーザーを指定するとき、それはまだ私にエラーを与える:後からは、例えば経由でプロキシされたときに

ansible -i inventoryfile -m ping 10.40.187.22 -u admin 

10.40.187.22 | UNREACHABLE! => { 
    "changed": false, 
    "msg": "Failed to connect to the host via ssh: Permission denied (publickey).\r\n", 
    "unreachable": true 
} 

答えて

0

それはプライベートIP sがansible pingに動作しないことが判明しましたパブリックnatインスタンス

インベントリファイルは動的とawsタグに基づいており、すなわち

[ec2_hosts:children] 
tag_Name_my_srv1 
tag_Name_my_srv2 

ので、次のコマンドが成功:

ansible -i inventoryfile -m ping tag_Name_my_srv1 -u admin 

10.40.187.22 | SUCCESS => { 
    "changed": false, 
    "failed": false, 
    "ping": "pong" 
} 
関連する問題