Ansible:如何配置没有 ssh 密钥的跳转主机?
Posted
技术标签:
【中文标题】Ansible:如何配置没有 ssh 密钥的跳转主机?【英文标题】:Ansible: How do I configure a jump host without ssh keys? 【发布时间】:2017-11-01 16:27:29 【问题描述】:我查看了 [to faq][1] ,但我的任务没有答案。
如何通过 Ansible 使用密码访问堡垒(跳转框)主机?我们不考虑使用 SSH 密钥。在这种情况下,SSH 配置(或 Ansible 配置)会是什么样子? 例如使用 SSH 密钥,配置如下所示:
ansible_ssh_common_args: '-o ProxyCommand="ssh -W %h:%p -q user@gateway.example.com"'
如何使用密码达到同样的效果?
【问题讨论】:
与您展示的方式完全相同,但一旦请求密码,您将被提示输入密码。您还错过了常见问题解答的链接。 谢谢。对不起。这是 - docs.ansible.com/ansible/faq.html 【参考方案1】:您可以使用ProxyJump
ssh 选项,该选项不需要在跳转主机上安装netcat/nc。
因此,在您用于运行 Ansible 命令的用户的 ~/.ssh/config
文件中,添加类似这样的内容
Host jumphost
HostName 1.1.1.1 # use actual ip address or fqdn
Host *
ProxyJump jumphost
【讨论】:
我不知道这个选项从 OpenSSH 7.3 开始可用。你能举出任何示例剧本吗?因为这是好方法(如果 netcat 不可用)【参考方案2】:在我的~/.ssh/config
文件中,我已经像这样配置了堡垒主机:
##### Private hosts access through bastion host #####
Host bastion-host
HostName 52.13.2.54
ForwardAgent yes
Host 10.10.*
ProxyCommand ssh -q bastion-host nc -q0 %h %p
然后我可以直接在私有子网中的主机上运行 Ansible。希望对你有帮助
【讨论】:
以上是关于Ansible:如何配置没有 ssh 密钥的跳转主机?的主要内容,如果未能解决你的问题,请参考以下文章
Android基础知识:Activity(3)Activity之间的跳转