You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Ansible实现经远程服务器二次SSH到VNF实例执行Linux命令?

解决Ansible通过跳板机二次SSH访问VNF实例的问题

1. 利用Ansible原生跳板机参数实现自动化(推荐)

Ansible支持直接配置跳板机参数,无需手动在跳板机执行二次SSH命令,既符合自动化逻辑,也能避免手动SSH导致的无交互卡住问题。

方式一:使用ProxyJump(OpenSSH 7.4+版本适用)

在inventory文件中直接定义VNF实例的跳板机信息,让Ansible自动完成两次SSH跳转:

示例hosts.ini配置:

[remote_server1]
server1 ansible_host=跳板机公网IP ansible_user=跳板机用户名 ansible_ssh_private_key_file=/本地路径/跳板机私钥

[vnf_instances]
vnf1 ansible_host=VNF内部IP1 ansible_user=VNF用户名 ansible_ssh_private_key_file=/本地路径/VNF私钥
vnf2 ansible_host=VNF内部IP2 ansible_user=VNF用户名 ansible_ssh_private_key_file=/本地路径/VNF私钥

[vnf_instances:vars]
# 指定通过跳板机跳转
ansible_ssh_common_args='-o ProxyJump=跳板机用户名@跳板机公网IP -i /本地路径/跳板机私钥'

对应的Playbook示例:

- name: 在VNF实例执行指定命令
  hosts: vnf_instances
  gather_facts: false
  tasks:
    - name: 运行目标Linux命令
      ansible.builtin.command: 你的目标命令
      register: cmd_result
    - name: 输出命令执行结果
      ansible.builtin.debug:
        var: cmd_result.stdout_lines

方式二:使用ProxyCommand(兼容低版本OpenSSH)

若跳板机OpenSSH版本低于7.4,不支持ProxyJump,可改用ProxyCommand:

将vnf_instances:vars部分替换为:

ansible_ssh_proxy_command='ssh -W %h:%p 跳板机用户名@跳板机公网IP -i /本地路径/跳板机私钥'

2. 排查"卡住无日志"问题的方法

  • 开启详细日志:运行Playbook时添加-vvvv参数,例如ansible-playbook -i hosts.yml playbook.yml -vvvv,可查看SSH连接全流程细节,定位是跳板机连接失败还是VNF实例验证问题。
  • 手动验证跳转链路:先登录跳板机,手动执行ssh VNF用户名@VNF内部IP,确认:
    • 是否需要输入密码(若用密码登录,需在inventory中添加ansible_password=VNF密码,推荐优先用密钥登录)
    • 是否存在主机密钥验证弹窗(首次连接需手动接受,或在跳板机~/.ssh/known_hosts中提前添加VNF的主机密钥,生产环境不建议用StrictHostKeyChecking=no跳过验证)

3. 特殊场景替代方案:在跳板机执行二次SSH命令

若因VNF IP需动态获取等特殊原因无法使用原生跳板参数,可在跳板机上直接执行SSH命令:

Playbook示例:

- name: 通过跳板机间接执行VNF命令
  hosts: remote_server1
  gather_facts: false
  tasks:
    - name: 远程执行VNF命令
      ansible.builtin.shell: |
        ssh -i /跳板机路径/VNF私钥 VNF用户名@VNF内部IP "你的目标命令"
      register: vnf_cmd_result
    - name: 输出VNF命令结果
      ansible.builtin.debug:
        var: vnf_cmd_result.stdout_lines

注:此方式需确保跳板机到VNF的SSH能无交互完成登录(密钥配置、主机密钥信任已完成),否则会因等待输入而卡住。

内容的提问来源于stack exchange,提问作者amitk

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 06:50:12