3
3

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.

Ansibleから、Kerberos認証を利用して、Windowsへ接続してみた

Posted at

#概要
AnsibleからKerberos認証を利用してWindows環境へ接続してみたら、いろいろあったので、方法や注意点を備忘録としてまとめました。

#環境
Ansible環境:CentOS7.6+Ansible2.8.5
ターゲット:Windows2016(ホスト名=ws16001)
ドメインコントローラ:Windows2016(ホスト名=ad01、ドメイン名=hoge.com)

#ターゲット側の設定
ターゲットマシンは、ドメイン(hoge.com)に参加しておきます。
winrmで、ServiceのAllowUnencryptedやauthのBasicを変更する必要はありません。
(http通信のBasic認証を利用するときの設定ですね。)

#Ansible側の設定
Ansible側ですが、公式サイトや、先人達の優良な記事があるので、詳細は割愛します。
当方が実施したコマンドは、以下です。

bash
yum -y install krb5-devel krb5-libs krb5-workstation
pip install pywinrm[kerberos]

また、Kerberos用ファイルの内容は以下の通りです。
注意点としては、よく挙げられていますが、大文字小文字は気をつける必要があります。

/etc/krb5.conf
(変更部分を抜粋)
[libdefaults]
 default_realm = HOGE.COM

[realms]
 HOGE.COM = {
  kdc = ad01.hoge.com
  admin_server = ad01.hoge.com
  defautl_domain = ad01.hoge.com
 }

[domain_realm]
 .hoge.com = HOGE.COM
 hoge.com = HOGE.COM

下記コマンドにて、Kerberos認証の動作確認をします。
klistコマンドで、チケット入手ができていればOKです。

bash
kinit -C administrator@HOGE.COM
klist

※チケットを破棄する場合は、kdestoryを実行します。

Ansibleのインベントリファイルは以下の感じです。

inventory
[windows]
ws16001

[windows:vars]
ansible_username=Administrator@HOGE.COM
ansible_password=password
ansible_port=5985
ansible_connection=winrm

なお、Ansible2.3以降は、インベントリファイルにansible_useransible_passwordを指定しておけば、自動的にチケットの取得や破棄を行ってくれます。
Automatic Kerberos Ticket Management

#接続確認
接続確認は、win_pingで行いました。
(接続コマンド等は割愛します)
その際、以下点で引っかかりました。
1)プロキシ設定
 IPアドレスは除外していたのですが、FQDNは除外していなかったので、
 ずっとプロキシ経由でアクセスしようとしていました。(-vvvvvオプションで判明しました・・・)
 →FQDNを除外設定して、直接接続するようになりました。
2)Ansibleのインベントリファイル
 IPアドレスはNGで、FQDNで指定する必要がありました。
 (http通信のときに、IPアドレスを指定していたので、そのまま利用したのがまずかった。。)
 当然名前解決できる必要がありましたが、これは、hostsファイルへの記載でもOKでした。

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?