WindowsへのSSH接続がProxyのせいで接続できなかった
Windows側の設定が終わり、Ansibleにて接続確認にてProxyにたどり着かないエラーが出ていた
※社内はProxyサーバーを経由しないと何もできない
# ansible windows -i hosts -m win_ping
XXX.XXX.XXX.XXX | UNREACHABLE! => {
"changed": false,
"msg": "ssl: HTTPSConnectionPool(host='XXX.XXX.XXX.XXX', port=5986): Max retries exceeded with url: /wsman (Caused by ProxyError('Cannot connect to proxy.', error('Tunnel connection failed: 502 Bad Gateway',)))",
"unreachable": true
}
原因
- WindowsへのSSHはHTTPS経由なことと、Ansibleを実行するときはProxyを意識してないからProxy経由にならないこと?
解決策
- PythonのWinRMのファイルをいじることで解決
これを
/usr/lib/python2.7/site-packages/winrm/transport.py
session.trust_env = True
こう!
/usr/lib/python2.7/site-packages/winrm/transport.py
session.trust_env = False
修正後
# ansible windows -i hosts -m win_ping
XXX.XXX.XXX.XXX | SUCCESS => {
"changed": false,
"ping": "pong"
}
とりあえずで書いた記事なので、後日修正予定です