junipernetworks.junos.junos_scp 模块 – 在运行 Junos 的远程设备之间传输文件

注意

此模块是 junipernetworks.junos 集合 (版本 9.1.0) 的一部分。

如果您正在使用 ansible 包,则可能已安装此集合。它不包含在 ansible-core 中。要检查它是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install junipernetworks.junos。您需要其他要求才能使用此模块,有关详细信息,请参阅 要求

要在剧本中使用它,请指定:junipernetworks.junos.junos_scp

junipernetworks.junos 1.0.0 中的新增功能

已弃用

在以下版本中移除:

2025-01-01 后的主要版本

原因:

发布了具有更多功能的更新模块

替代方案:

改用 ansible.netcommon.net_getansible.netcommon.net_put

概要

  • 此模块通过 SCP 在运行 Junos 的远程设备之间传输文件。

要求

执行此模块的主机需要以下要求。

  • junos-eznc

  • ncclient (>=v0.5.2)

参数

参数

注释

dest

路径

dest 参数指定接收文件的路径。

默认值: "."

provider

字典

已弃用

从 Ansible 2.5 开始,我们建议使用 connection: network_cliconnection: netconf

更多信息请参见 Junos OS 平台选项指南

<hr>

包含连接详细信息的字典对象。

host

字符串

指定通过指定的传输连接到远程设备的 DNS 主机名或地址。host 的值用作传输的目标地址。

password

字符串

指定用于验证到远程设备的连接的密码。此值用于验证 SSH 会话。如果任务中未指定此值,则将改用环境变量 ANSIBLE_NET_PASSWORD 的值。

port

整数

指定建立到远程设备的连接时要使用的端口。端口值将默认为众所周知的 SSH 端口 22(对于 transport=cli)或端口 830(对于 transport=netconf)设备。

ssh_keyfile

路径

指定用于验证到远程设备的连接的 SSH 密钥。此值是用于验证 SSH 会话的密钥的路径。如果任务中未指定此值,则将改用环境变量 ANSIBLE_NET_SSH_KEYFILE 的值。

timeout

整数

指定与网络设备通信的超时时间(以秒为单位),用于连接或发送命令。如果在操作完成之前超时,模块将出错。

transport

字符串

配置连接到远程设备时要使用的传输连接。

选项

  • "cli"

  • "netconf" ← (默认)

username

字符串

配置用于验证到远程设备的连接的用户名。此值用于验证 SSH 会话。如果任务中未指定此值,则将改用环境变量 ANSIBLE_NET_USERNAME 的值。

recursive

布尔值

recursive 参数启用文件和目录的递归传输。

选项

  • false ← (默认)

  • true

remote_src

布尔值

remote_src 参数启用从远程设备下载文件(_scp get_)。默认行为是将文件(_scp put_)上传到远程设备。

选项

  • false ← (默认)

  • true

src

列表 / 元素=路径 / 必需

src 参数接受单个路径或要传输的路径列表。要传输目录,参数 recursive 必须为 true

ssh_config

路径

ssh_config 参数是 SSH 配置文件的路径。这可以用于从配置文件加载 SSH 信息。如果此选项未给出,则默认查询 ~/.ssh/config。

ssh_private_key_file

路径

ssh_private_key_file 参数是 SSH 私钥文件的路径。如果您需要提供私钥而不是将密钥加载到 ssh-key-ring/环境中,则可以使用此参数。

备注

注意

  • 此模块要求在被管理的远程设备上启用 netconf 系统服务。

  • 针对 vMX JUNOS 版本 17.3R1.10 进行了测试。

  • 仅适用于 local 连接。

  • 由于此模块使用 junos-eznc 建立与 Junos 设备的连接,因此需要使用模块选项(例如 ssh_config)传递 Netconf 配置参数,这与使用 netconf 连接类型的其他 Junos 模块不同。

  • 有关使用 CLI 和 Netconf 的信息,请参见:ref:`Junos OS 平台选项指南 <junos_platform_options>`

  • 有关使用 Ansible 管理网络设备的更多信息,请参见:ref:`Ansible 网络指南 <network_guide>`

  • 有关使用 Ansible 管理 Juniper 网络设备的更多信息,请参见 https://ansible.org.cn/ansible-juniper

示例

# the required set of connection arguments have been purposely left off
# the examples for brevity
- name: upload local file to home directory on remote device
  junipernetworks.junos.junos_scp:
    src: test.tgz

- name: upload local file to tmp directory on remote device
  junipernetworks.junos.junos_scp:
    src: test.tgz
    dest: /tmp/

- name: download file from remote device
  junipernetworks.junos.junos_scp:
    src: test.tgz
    remote_src: true

- name: ssh config file path for jumphost config
  junipernetworks.junos.junos_scp:
    src: test.tgz
    remote_src: true
    ssh_config: /home/user/customsshconfig

返回值

常见返回值已在 此处 记录,以下是此模块特有的字段

描述

已更改

布尔值

始终为真

返回:始终

状态

  • 此模块将在 2025-01-01 之后的主要版本中移除。[已弃用]

  • 更多信息请参见 已弃用

作者

  • Christian Giese (@GIC-de)