微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Azure Cloud Shell 中的 Ansible - 配置后连接到 VM 私有 IP

如何解决Azure Cloud Shell 中的 Ansible - 配置后连接到 VM 私有 IP

我有一个静态库存如下:

[local]
localhost

[web]
172.16.16.5
172.16.16.6

[core]
172.16.24.21
172.16.24.22
172.16.24.23

[master]
172.16.24.18
172.16.24.19
172.16.24.20

[worker]
172.16.24.17
172.16.24.11
172.16.24.5

[chef]
172.16.24.16

[db]
172.16.32.7
172.16.32.5
172.16.32.4

[pprod:children]
web
core
master
worker
chef
db

[all:vars]
ansible_ssh_connection=ssh ansible_ssh_user=user ansible_ssh_private_key_file=~/.ssh/id_rsa ansible_ssh_extra_args="-o StrictHostKeyChecking=no-o UserKNownHostsFile=/dev/null"

我的配置文件

user@Azure:~$ cat .ansible.cfg
[defaults]
remote_user = user
user@Azure:~$

在我创建虚拟机的剧本中,我还为每个虚拟机指定了具有上述 IP 的 NIC 创建。我在剧本中还有以下变量:

  vars:
    ssh_key: "ssh-rsa  XXXXXXXXXXXXXX-to-the-end"

azure_rm_virtualmachine 具有以下代码来插入我的公钥:

  ssh_public_keys:
    - path: /home/user/.ssh/authorized_keys
      key_data: "{{ ssh_key }}"

我的剧本的一部分是还要启动一个堡垒主机,它被传递到一个 group_vars 文件

user@Azure:~$ cat group_vars/pprod.yml
ansible_ssh_common_args: '-o ProxyCommand="ssh -W %h:%p -q user@bst-38b12345-fb01-60c0-ba73-dfb8f18a5f09.bastion.azure.com"'
user@Azure:~$

以上所有工作正常 - 不工作的部分是当我尝试连接到虚拟机时,我总是得到

Failed to connect to the host via ssh: Connection timed out during banner exchange

留言。我还在清单文件中尝试了以下内容

[all:vars]
ansible_ssh_connection=ssh ansible_ssh_user=user ansible_ssh_private_key_file=~/.ssh/id_rsa ansible_ssh_extra_args="-o StrictHostKeyChecking=no-o UserKNownHostsFile=/dev/null" ansible_ssh_common_args='-o ProxyCommand="ssh -W %h:%p -q user@bst-38b12345-fb01-60c0-ba73-dfb8f18a5f09.bastion.azure.com"'

但还是得到了类似的结果。

看到类似的问题 - here 并想知道是否在这方面取得了进展。

将 VM 配置作为剧本的一部分完成会非常好。感谢您的帮助。谢谢

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。