質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ansible

Ansibleは、Python で書かれたサーバーの設定を管理するための 構成管理ツールです。

Q&A

解決済

4回答

5406閲覧

ansibleを使用してWindowsモジュールのwin_pingを利用して疎通確認したい。

alfald

総合スコア19

Ansible

Ansibleは、Python で書かれたサーバーの設定を管理するための 構成管理ツールです。

0グッド

0クリップ

投稿2020/10/08 04:56

編集2020/10/08 05:42

前提・実現したいこと

仮想マシンのCentOS7から仮想マシンのwindowsServer2016に対しての疎通確認を行いたい。
ansible version:2.9.13

発生している問題・エラーメッセージ

xxx.xxx.xxx.xxx | UNREACHABLE! => { "changed": false, "msg":"Failed to connect to the host via ssh: ssh: connect to host xxx.xxx.xxx.xxx port 22:Connection timed out", "unreachable": true }

該当のソースコード

ansible win -i hosts -m win_ping -vvv

試したこと

両方からpingを飛ばした。
ansible/hostsがあるディレクトリで実行した。

補足情報(FW/ツールのバージョンなど)

下記のページを参考に行っている
https://qiita.com/Kento75/items/a5e89c5034200310f98f
https://dev.classmethod.jp/articles/execute-powershell-script-to-windows-server-using-ansible/
そこの「疎通確認」で上記のエラーが発生した。
hostsの中身
[win]
xxx.xxx.xxx.xxx

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答4

0

ベストアンサー

エラーよりポート22でアクセスしようとしていることから、SSHで接続しようとしているのではないでしょうか。
AnsibleからWindowsを操作する場合は、SSHではなくWinRMを利用することが一般的です。

※Windows Server 2019からはOpenSSHが正式サポートされたのですが、今回はWindows Server 2016とのことですのでWinRMを利用いただいた方が良いかと思います

WinRMを利用する場合のお作法として以下のように、hostsの中身の編集されてはどうでしょうか

[win]
xxx.xxx.xxx.xxx

[win:vars]
ansible_user=xxxx
ansible_password=xxxx
ansible_port=5986
ansible_connection=winrm
ansible_winrm_server_cert_validation=ignore

投稿2020/10/08 05:32

jir01030

総合スコア129

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

alfald

2020/10/08 05:56 編集

ありがとうございます。 書き換えました。 しかし、また失敗してしまいました。 """ TASK[Gathering Facts]********* fatal:[xxx.xxx.xxx.xxx]:FAILED! => {"msg":"connection plugin 'winrm' was not found"}
jir01030

2020/10/08 05:50

エラーより、おそらくAnsibleサーバ側にwinrmを操作するpythonのパッケージが導入されていないようです。 Ansibleサーバにて以下のコマンドを実行してみて試してはいかがでしょうか。 pip install pywinrm
alfald

2020/10/08 05:52 編集

そのコマンドは行っています。 再度行った結果 ””” Requirement already satisfied:・・・・ ””” と出ました。
alfald

2020/10/08 05:59

結果の失敗が ””” msg winrm or requests is not installed no module named winrm ””” となった。
jir01030

2020/10/08 06:04

おそらくpython環境に依存したエラーだと思うので、virtualenv環境作ってみてはどうでしょうか?
alfald

2020/10/08 06:24

vertualenv --version 20.0.33 python --version 3.6.8 virtualenv環境で行ったらいけました。 python環境の問題だったみたいです。 仮想環境から出てPythonのバージョンを調べると 2.7.5 でした。 ありがとうございます。
jir01030

2020/10/08 06:36

無事にうまくいったようで良かったです。
guest

0

エラー文によると22ポート(SSH)を使用しているようにみえます。
参考にされた記事にも記載されていますが、Windowsでは5986ポート(WinRM)を使用します。

その辺を見直してはいかがでしょうか?
あとansibleのバージョンや設定を追記されると回答しやすいかと思います。

> ansible --version > ansible-config view

投稿2020/10/08 05:30

comefigo

総合スコア1045

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

alfald

2020/10/08 05:44

ありがとうございます。 情報追加しました。
guest

0

Pythonのバージョンが古かったからダメだったと思う。(自分は2系でした。)
新しいpython3系にしたらいけた。

投稿2020/10/08 06:25

alfald

総合スコア19

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

公式サイトの Windows ガイド
を参照されることをおすすめします。

投稿2020/10/08 05:53

SugiTK

総合スコア495

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問