ansible.builtin.paramiko_ssh 连接 – 通过 Python SSH (paramiko) 运行任务

注意

此连接插件是 ansible-core 的一部分,包含在所有 Ansible 安装中。在大多数情况下,您可以使用简短的插件名称 paramiko_ssh。但是,我们建议您使用 完全限定集合名称 (FQCN) ansible.builtin.paramiko_ssh,以便轻松链接到插件文档,并避免与可能具有相同连接插件名称的其他集合冲突。

概要

  • 使用 Python SSH 实现 (Paramiko) 连接到目标

  • 提供 paramiko 传输,因为许多发行版,特别是 EL6 及更早版本,不支持其 SSH 实现中的 ControlPersist。

  • 这在 Ansible 控制机器上是必需的,以便对连接具有合理的效率。因此,对于这些平台上的大多数用户而言,paramiko 速度更快。具有 ControlPersist 功能的用户可以考虑使用 -c ssh 或在配置文件中配置传输。

  • 此插件还从 ssh 插件借用许多设置,因为它们都涵盖了相同的协议。

参数

参数

注释

banner_timeout

浮点型

在 ansible-core 2.14 中添加

以秒为单位配置等待 SSH 横幅显示的时间量。此选项受 paramiko 版本 1.15.0 或更高版本支持。

默认值: 30.0

配置

host_key_auto_add

布尔型

自动添加主机密钥

选项

  • false

  • true

配置

host_key_checking

布尔型

如果要避免 Ansible 使用的底层工具检查主机密钥,请将其设置为“False”。

选项

  • false

  • true ← (默认值)

配置

look_for_keys

布尔型

设置为 False 以禁用在 ~/.ssh/ 中搜索私钥文件。

选项

  • false

  • true ← (默认值)

配置

password

字符串

用于登录 ssh 服务器或作为需要密码的 ssh 密钥的密码的密钥

可以通过 CLI 使用 --ask-pass 选项设置。

配置

  • 变量:ansible_password

  • 变量:ansible_ssh_pass

  • 变量:ansible_ssh_password

  • 变量:ansible_paramiko_pass

  • 变量:ansible_paramiko_password

port

整数

要连接到的远程端口。

默认值: 22

配置

  • INI 条目

    [defaults]
    remote_port = 22
    
    [paramiko_connection]
    remote_port = 22
    

    在 ansible-core 2.15 中添加

  • 环境变量:ANSIBLE_REMOTE_PORT

  • 环境变量:ANSIBLE_REMOTE_PARAMIKO_PORT

    在 ansible-core 2.15 中添加

  • 变量:ansible_port

  • 变量:ansible_ssh_port

  • 变量:ansible_paramiko_port

    在 ansible-core 2.15 中添加

  • 关键字:port

private_key_file

字符串

要用于身份验证的私钥文件路径。

配置

  • INI 条目

    [defaults]
    private_key_file = VALUE
    
    [paramiko_connection]
    private_key_file = VALUE
    

    在 ansible-core 2.15 中添加

  • 环境变量:ANSIBLE_PRIVATE_KEY_FILE

  • 环境变量:ANSIBLE_PARAMIKO_PRIVATE_KEY_FILE

    在 ansible-core 2.15 中添加

  • 变量:ansible_private_key_file

  • 变量:ansible_ssh_private_key_file

  • 变量:ansible_paramiko_private_key_file

    在 ansible-core 2.15 中添加

  • CLI 参数:–private-key

proxy_command

字符串

用于通过跳板机运行连接的代理信息。

默认值: ""

配置

  • INI 条目

    [paramiko_connection]
    proxy_command = ""
    
  • 环境变量:ANSIBLE_PARAMIKO_PROXY_COMMAND

  • 变量:ansible_paramiko_proxy_command

    在 ansible-core 2.15 中添加

pty

布尔型

SUDO 通常需要 PTY,设置为 True 以提供 PTY,设置为 False 以不提供 PTY。

选项

  • false

  • true ← (默认值)

配置

record_host_keys

布尔型

将主机密钥保存到文件

选项

  • false

  • true ← (默认值)

配置

remote_addr

字符串

远程目标的地址

默认值: "inventory_hostname"

配置

  • 变量:inventory_hostname

  • 变量:ansible_host

  • 变量:ansible_ssh_host

  • 变量:ansible_paramiko_host

remote_user

字符串

要以其身份登录/进行身份验证的用户

可以通过 CLI 使用 --user-u 选项设置。

配置

  • INI 条目

    [defaults]
    remote_user = VALUE
    
    [paramiko_connection]
    remote_user = VALUE
    
  • 环境变量:ANSIBLE_REMOTE_USER

  • 环境变量:ANSIBLE_PARAMIKO_REMOTE_USER

  • 变量:ansible_user

  • 变量:ansible_ssh_user

  • 变量:ansible_paramiko_user

  • 关键字:remote_user

timeout

整数

插件在放弃建立 TCP 连接之前要等待的秒数。

默认值: 10

配置

  • INI 条目

    [defaults]
    timeout = 10
    
    [ssh_connection]
    timeout = 10
    

    在 ansible-core 2.11 中添加

    [paramiko_connection]
    timeout = 10
    

    在 ansible-core 2.15 中添加

  • 环境变量:ANSIBLE_TIMEOUT

  • 环境变量:ANSIBLE_SSH_TIMEOUT

    在 ansible-core 2.11 中添加

  • 环境变量:ANSIBLE_PARAMIKO_TIMEOUT

    在 ansible-core 2.15 中添加

  • 变量:ansible_ssh_timeout

    在 ansible-core 2.11 中添加

  • 变量:ansible_paramiko_timeout

    在 ansible-core 2.15 中添加

  • CLI 参数:–timeout

use_persistent_connections

布尔型

切换连接持久性的使用

选项

  • false ← (默认值)

  • true

配置

use_rsa_sha2_algorithms

布尔型

在 ansible-core 2.14 中添加

是否为公钥和主机密钥启用 RSA SHA2 算法

在 paramiko 版本早于 2.9 的版本中,这仅影响主机密钥

对于与 paramiko<2.9 匹配的行为,将其设置为 False

选项

  • false

  • true ← (默认值)

配置

作者

  • Ansible Core 团队

提示

每个条目类型的配置条目具有从低到高的优先级顺序。例如,列表中较低的变量将覆盖列表中较高的变量。