2017年3月10日金曜日

Ansible で SSH に鍵認証を使用する方法

概要

前回 の入門では ID/PW による方法とノンパスログインによる方法を紹介しました
今回は秘密鍵と公開鍵を使った SSH 認証で Ansible を実行する方法を紹介します

環境

  • CentOS 6.7 64bit
  • Ansible 1.9.4

設定方法

鍵認証を使う方法はいくつかあります

設定ファイルに記載する方法

  • vim /etc/ansible/ansible.cfg

を編集します

private_key_file = /path/to/key/secret_key.pem

というパラメータがあるので、秘密鍵へのパスを設定します
これで実行すると実行時に鍵のパスフレーズの入力を求められます

$ ansible all -m ping
Enter passphrase for key '/path/to/key/secret_key.pem': 

実行時のパラメータで指定する

  • ansible all --private-key=/path/to/key/secret_key.pem -m ping

で同様にパスフレーズの入力を求められます

最後に

紹介は以上です
全サーバ共通の秘密鍵を使うなら設定ファイルに記載して、サーバごとに異なる場合は実行時のパラメータで指定する感じでしょうか
また、今回は ansible コマンドで紹介しましたが、ansible-playbook コマンドでも同様な指定方法になります

Tips

ちょっと気になった挙動があって、パスフレーズの入力を求められたあと認証に成功すると一定時間認証情報をどっかに保存しているのかパスフレーズを求められないことがありました
詳しく調査してないのですが、そんな機能があるのだろうか

0 件のコメント:

コメントを投稿