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

提示

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