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 banner 呈现的时间(以秒为单位)。此选项受 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 中添加

  • 命令行参数:–timeout

use_persistent_connections

布尔值

切换连接的持久化使用

选项

  • false ← (默认)

  • true

配置

use_rsa_sha2_algorithms

布尔值

在 ansible-core 2.14 中添加

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

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

为了与 paramiko<2.9 的行为保持一致,请将其设置为 False

选项

  • false

  • true ← (默认)

配置

作者

  • Ansible 核心团队

提示

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