War*_*enG 10 amazon-web-services ansible
我目前已成功使用Ansible在AWS专用子网中的主机上运行任务,以下内容已在其中group_vars设置:
ansible_ssh_common_args: '-o ProxyCommand="ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -W %h:%p -q ec2-user@bastionhost@example.com"'
Run Code Online (Sandbox Code Playgroud)
一切正常。
对于不在私有子网中的Windows实例,可以进行以下group_vars工作:
---
ansible_user: "AnsibleUser"
ansible_password: "Password"
ansible_port: 5986
ansible_connection: winrm
ansible_winrm_server_cert_validation: ignore
Run Code Online (Sandbox Code Playgroud)
现在,仅通过使用ProxyCommand将无法使Ansible部署到堡垒后面的Windows服务器上就行了-据我所知。我相信尽管有一个可以使用的新协议/模块psrp。
我想group_vars我的Windows主机需要更改为以下内容:
---
ansible_user: "AnsibleUser"
ansible_password: "Password"
ansible_port: 5986
ansible_connection: psrp
ansible_psrp_cert_validation: ignore
Run Code Online (Sandbox Code Playgroud)
如果仅对公开可用的实例进行上述更改(并且不尝试通过堡垒连接),则我的任务似乎正常运行:
Using module file /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/ansible/modules/windows/win_shell.ps1
<10.100.11.14> ESTABLISH PSRP CONNECTION FOR USER: Administrator ON PORT 5986 TO 10.100.11.14
PSRP: EXEC (via pipeline wrapper)
Run Code Online (Sandbox Code Playgroud)
我知道必须进行更多更改,然后才能在堡垒后面的Windows服务器上尝试此操作,但无论如何都要运行它以查看出现的错误,以为下一步提供提示。在堡垒服务器后面的实例上运行此命令时,结果如下:
Using module file /Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/ansible/modules/windows/setup.ps1
<10.100.11.14> ESTABLISH PSRP CONNECTION FOR USER: Administrator ON PORT 5986 TO 10.100.11.14
The full traceback is:
.
.
.
.
ConnectTimeout: HTTPSConnectionPool(host='10.100.11.14', port=5986): Max retries exceeded with url: /wsman (Caused by ConnectTimeoutError(<urllib3.connection.VerifiedHTTPSConnection object at 0x110bbfbd0>, 'Connection to 10.100.11.14 timed out. (connect timeout=30)'))
Run Code Online (Sandbox Code Playgroud)
似乎Ansible忽略了我group_vars的ProxyCommand-我不确定这是否是预期的。我也不确定下一步如何使Ansible部署到堡垒后的Windows服务器。
我缺少什么配置?
文档说,该ansible_ssh_common_args设置被附加到 sftp、scp 和 ssh 命令中。winrm所以对我来说,在使用or时没有考虑到这听起来很正常psrp ansible_connection。
正如Pouyan在评论中提供的链接ansible_psrp_proxy中所解释的,变量将用于提供代理信息。
ansible_connection: psrp
ansible_psrp_proxy=socks5h://localhost:1234
Run Code Online (Sandbox Code Playgroud)
有关创建袜子代理的更多信息,请访问:https://www.bloggingforlogging.com/2018/10/14/windows-host-through-ssh-bastion-on-ansible/
| 归档时间: |
|
| 查看次数: |
295 次 |
| 最近记录: |