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 团队

提示

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