まず、仮想マシンにsshするときの秘密鍵の場所を調べておく。
kenjih$ vagrant ssh-config Host default HostName 127.0.0.1 User vagrant Port 2222 UserKnownHostsFile /dev/null StrictHostKeyChecking no PasswordAuthentication no IdentityFile /Users/kenjih/work/vagrant_ansible_kafka/vagrant/.vagrant/machines/default/virtualbox/private_key IdentitiesOnly yes LogLevel FATAL
ユーザと秘密鍵の場所をオプション指定するとansibleで仮想マシンに接続できる。
kenjih$ ansible -i provisioning/hosts all -m ping -u vagrant --private-key=../vagrant/.vagrant/machines/default/virtualbox/private_key 192.168.33.11 | SUCCESS => { "changed": false, "ping": "pong" }
が、毎回オプション書くのは面倒なのでconfigファイルを書くといいらしい。 以下のようなファイルをカレントディレクトリに作っておく。
$ cat ansible.cfg [defaults] hostfile = provisioning/hosts remote_user = vagrant private_key_file = /Users/kenjih/work/vagrant_ansible_kafka/vagrant/.vagrant/machines/default/virtualbox/private_key
すると、オプションなしで接続できる。
$ ansible all -m ping 192.168.33.11 | SUCCESS => { "changed": false, "ping": "pong" }
接続できたので、ansibleから任意のコマンドを実行してみる。
kenjih$ ansible all -a 'whoami' 192.168.33.11 | SUCCESS | rc=0 >> vagrant kenjih$ ansible all -a 'uname -a' 192.168.33.11 | SUCCESS | rc=0 >> Linux vagrant-ubuntu-trusty 3.19.0-15-generic #15-Ubuntu SMP Thu Apr 16 23:32:37 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
0 件のコメント:
コメントを投稿