2
2

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でansible-playbookを実行する時に~/.ssh/configの設定が参照されずUNREACHABLEとなる場合の対処法

Last updated at Posted at 2016-07-18

MacでAnsibleを使うときに

$ ansible-playbook -i development site.yml --ask-pass

のようにパスワード認証のssh接続でplaybookを実行しようとすると、~/.ssh/configに設定を書いているホストへの接続が上手く行かず、以下のようなエラーが出たので対策を調べました。

fatal: [dev-test-server]: UNREACHABLE! => {"changed": false, "msg": "Failed to connect to the host via ssh.", "unreachable": true}

環境

ansible: 2.2.0
OS: OSX Yosemite

設定ファイル例

playbook実行ディレクトリ/development
[test-server]
dev-test-server

[development:children]
test-server

~/.ssh/config
Host dev-test-server
  HostName xxx.xxx.xxx.xxx
  Port 22
  User root

対処法

Macではopensshを使ってssh接続することになるので、-c sshオプションを使って接続するようです。さらに、パスワードを使う場合はsshpassを入れておく必要があるようです。
ただ、brew install sshpassでインストールしようとすると、セキュリティの問題でやめとけと言われるので、以下のコマンドでインストールします。

brew install https://raw.githubusercontent.com/kadwanev/bigboybrew/master/Library/Formula/sshpass.rb

上記コマンドでsshpassが入ったら、以下のようにplaybookを実行します。 

$ ansible-playbook -i development site.yml -c ssh --ask-pass

これで~/.ssh/configの設定を反映してパスワード認証でplaybookが実行できました!

2
2
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
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?