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 (将#修改为@)