4
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Mac から Vagrant1.7 へ ansibleを実行した際のメモ(SSH Error解決含む)

Last updated at Posted at 2015-12-03

MacからVagrantへansibleを実行しようとした際に、ハマった点などをメモ。

ソフトウェア バージョン
Vagrant 1.7.2
Ansible 1.9.4

##AnsibleをMacから実行

Vagrantの準備

作業ディレクトリ作成

mkdir ansible_from_mac
cd ansible_from_mac
vagrant init your_vagrant_box

'Vagrantfile'の修正

vi Vagrantfile

ローカルのIPアドレスを修正

# config.vm.network "private_network", ip: "192.168.33.10"
config.vm.network "private_network", ip: "192.168.111.111"

# 以下を追加
config.ssh.insert_key = false

'config.ssh.insert_key'に関して、以下を参考

vagrant 1.7以降は'vagrant up'した時にinsecure_keyを差し替える

vagratを起動

vagrant up

ここからMacの設定

Macにもansibleを入れておきます。

brew install ansible

SSH 接続クライアントの設定

vi ~/.ssh/config
Host 192.168.111.111
  User vagrant
  IdentityFile ~/.vagrant.d/insecure_private_key

ansibleの設定ファイルを作成

mkdir /usr/local/etc/ansible
vi /usr/local/etc/ansible/hosts
[local.ansible.com]
192.168.111.111

##SSH接続に困ったときに対応した点

最初、ansible実行時に、SSH Error: Permission deniedとなってしまう問題が発生。

192.168.111.111 | FAILED => SSH Error: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).
    while connecting to 192.168.111.111:22
It is sometimes useful to re-run the command using -vvvv, which prints SSH debug output to help diagnose the issue.

###原因調査

ssh-configで確認すると、利用されているprivate_keyが異なることが分かった。

Host default
  HostName 127.0.0.1
  User vagrant
  Port 2222
  UserKnownHostsFile /dev/null
  StrictHostKeyChecking no
  PasswordAuthentication no
  IdentityFile /your/vagrant/path/ansible_from_mac/.vagrant/machines/default/virtualbox/private_key
  IdentitiesOnly yes
  LogLevel FATAL

###SSH接続に困ったときに対応した点(2パターン)

####1. vagrant up時に毎回keyが作成されるのを避ける

Vagrant1.7から、vagrant up時に毎回keyが作成される仕様になっていた

# それを避けるために追加したのが以下
config.ssh.insert_key = false

####2. ~/.ssh/configの修正し、個別のkeyを利用するようにする

Host 192.168.111.111
  User vagrant
  IdentityFile /your/vagrant/path/ansible_from_mac/.vagrant/machines/default/virtualbox/private_key

####結果
改めて、ansilbeコマンドを実行

ansible local.example.com -m ping

pingを実行

192.168.111.111 | success >> {
    "changed": false,
    "ping": "pong"
}

成功。

##参考
Vagrant 1.7+でSSH接続エラーが出た場合の対処法

4
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?