Spec-Zone.ru › Ansible

Подключение community.general.wsl — выполнение задач в дистрибутиве WSL с помощью CLI wsl.exe через SSH

Примечание

Этот подключаемый модуль подключения входит в коллекцию community.general (версия 12.6.1).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не входит в ansible-core. Чтобы проверить, установлена ли она, выполните ansible-galaxy collection list.

Чтобы установить её, используйте: ansible-galaxy collection install community.general. Для использования этого подключаемого модуля подключения необходимы дополнительные требования; подробности см. в разделе Требования.

Чтобы использовать его в плейбуке, укажите: community.general.wsl.

Добавлено в community.general 10.6.0

  • Краткое описание
  • Требования
  • Параметры
  • Примеры

Краткое описание

  • Выполнение команд или передача/получение файлов в существующий дистрибутив WSL с помощью CLI wsl.exe через SSH.
  • Для подключения к узлу WSL используется реализация SSH на Python (Paramiko).

Требования

Следующие требования должны быть выполнены на локальном управляющем узле, который устанавливает это подключение.

  • paramiko

Параметры

Параметр

Комментарии

banner_timeout

float

Задаёт время ожидания отображения баннера SSH в секундах.

Этот параметр поддерживается в paramiko версии 1.15.0 или новее.

По умолчанию: 30.0

Конфигурация:

  • Запись INI:

    [paramiko_connection]
    banner_timeout = 30.0
    
  • Переменная окружения: ANSIBLE_PARAMIKO_BANNER_TIMEOUT

become

boolean

Использовать ли пользователя, заданного параметром become_user.

Варианты:

  • false ← (по умолчанию)
  • true

Конфигурация:

  • Переменная: become
  • Переменная: ansible_become

become_user

string

Пользователь дистрибутива WSL.

По умолчанию: "root"

Конфигурация:

  • Переменная: become_user
  • Переменная: ansible_become_user

host_key_auto_add

boolean

Автоматически добавлять ключи хостов в ~/.ssh/known_hosts.

Варианты:

  • false
  • true

Конфигурация:

  • Запись INI:

    [paramiko_connection]
    host_key_auto_add = VALUE
    
  • Переменная окружения: ANSIBLE_PARAMIKO_HOST_KEY_AUTO_ADD

host_key_checking

boolean

Установите значение false, если хотите отключить проверку ключей хостов используемыми Ansible инструментами подключения к узлу.

Варианты:

  • false
  • true ← (по умолчанию)

Конфигурация:

  • Записи INI:

    [defaults]
    host_key_checking = true
    
    [paramiko_connection]
    host_key_checking = true
    
  • Переменная окружения: ANSIBLE_HOST_KEY_CHECKING
  • Переменная окружения: ANSIBLE_SSH_HOST_KEY_CHECKING
  • Переменная окружения: ANSIBLE_PARAMIKO_HOST_KEY_CHECKING
  • Переменная: ansible_host_key_checking
  • Переменная: ansible_ssh_host_key_checking
  • Переменная: ansible_paramiko_host_key_checking

lock_file_timeout

integer

Количество секунд, по истечении которых подключаемый модуль прекращает попытки записать файл блокировки при записи известных ключей хостов SSH.

По умолчанию: 60

Конфигурация:

  • Переменная окружения: ANSIBLE_LOCK_FILE_TIMEOUT
  • Переменная: ansible_lock_file_timeout

look_for_keys

boolean

Установите значение false, чтобы отключить поиск файлов закрытых ключей в ~/.ssh/.

Варианты:

  • false
  • true ← (по умолчанию)

Конфигурация:

  • Запись INI:

    [paramiko_connection]
    look_for_keys = true
    
  • Переменная окружения: ANSIBLE_PARAMIKO_LOOK_FOR_KEYS

password

string

Секрет, используемый для входа на SSH-сервер или в качестве парольной фразы для SSH-ключей, которым она необходима.

Можно задать в CLI с помощью параметра --ask-pass.

Конфигурация:

  • Переменная: ansible_password
  • Переменная: ansible_ssh_pass
  • Переменная: ansible_ssh_password
  • Переменная: ansible_paramiko_pass
  • Переменная: ansible_paramiko_password

port

integer

Удалённый порт для подключения.

По умолчанию: 22

Конфигурация:

  • Записи INI:

    [defaults]
    remote_port = 22
    
    [paramiko_connection]
    remote_port = 22
    
  • Переменная окружения: ANSIBLE_REMOTE_PORT
  • Переменная окружения: ANSIBLE_REMOTE_PARAMIKO_PORT
  • Ключевое слово: port
  • Переменная: ansible_port
  • Переменная: ansible_ssh_port
  • Переменная: ansible_paramiko_port

private_key_file

path

Путь к файлу закрытого ключа, используемого для аутентификации.

Конфигурация:

  • Записи INI:

    [defaults]
    private_key_file = VALUE
    
    [paramiko_connection]
    private_key_file = VALUE
    
  • Переменная окружения: ANSIBLE_PRIVATE_KEY_FILE
  • Переменная окружения: ANSIBLE_PARAMIKO_PRIVATE_KEY_FILE
  • Аргумент CLI: --private-key
  • Переменная: ansible_private_key_file
  • Переменная: ansible_ssh_private_key_file
  • Переменная: ansible_paramiko_private_key_file

proxy_command

string

Параметры прокси для подключения через промежуточный узел.

Этот параметр поддерживается в paramiko версии 1.9.0 или новее.

По умолчанию: ""

Конфигурация:

  • Запись INI:

    [paramiko_connection]
    proxy_command = ""
    
  • Переменная окружения: ANSIBLE_PARAMIKO_PROXY_COMMAND
  • Переменная: ansible_paramiko_proxy_command

record_host_keys

boolean

Сохранять ключи хостов в файл.

Варианты:

  • false
  • true ← (по умолчанию)

Конфигурация:

  • Запись INI:

    [paramiko_connection]
    record_host_keys = true
    
  • Переменная окружения: ANSIBLE_PARAMIKO_RECORD_HOST_KEYS

remote_addr

string

Адрес удалённого целевого узла.

По умолчанию: "inventory_hostname"

Конфигурация:

  • Переменная: inventory_hostname
  • Переменная: ansible_host
  • Переменная: ansible_ssh_host
  • Переменная: ansible_paramiko_host

remote_user

string

Пользователь для входа/аутентификации.

Можно задать в CLI с помощью параметра --user или -u.

Конфигурация:

  • Записи INI:

    [defaults]
    remote_user = VALUE
    
    [paramiko_connection]
    remote_user = VALUE
    
  • Переменная окружения: ANSIBLE_REMOTE_USER
  • Переменная окружения: ANSIBLE_PARAMIKO_REMOTE_USER
  • Ключевое слово: remote_user
  • Переменная: ansible_user
  • Переменная: ansible_ssh_user
  • Переменная: ansible_paramiko_user

timeout

integer

Количество секунд, по истечении которых подключаемый модуль прекращает попытки установить TCP-соединение.

Этот параметр поддерживается в paramiko версии 2.2.0 или новее.

По умолчанию: 10

Конфигурация:

  • Записи INI:

    [defaults]
    timeout = 10
    
    [ssh_connection]
    timeout = 10
    
    [paramiko_connection]
    timeout = 10
    
  • Переменная окружения: ANSIBLE_TIMEOUT
  • Переменная окружения: ANSIBLE_SSH_TIMEOUT
  • Переменная окружения: ANSIBLE_PARAMIKO_TIMEOUT
  • Аргумент CLI: --timeout
  • Переменная: ansible_ssh_timeout
  • Переменная: ansible_paramiko_timeout

use_persistent_connections

boolean

Включает или отключает постоянные подключения.

Варианты:

  • false ← (по умолчанию)
  • true

Конфигурация:

  • Запись INI:

    [defaults]
    use_persistent_connections = false
    
  • Переменная окружения: ANSIBLE_USE_PERSISTENT_CONNECTIONS

use_rsa_sha2_algorithms

boolean

Включать ли алгоритмы RSA SHA2 для открытых ключей и ключей хостов.

В версиях paramiko ниже 2.9 это влияет только на ключи хостов.

Чтобы поведение соответствовало paramiko<2.9, установите значение false.

Варианты:

  • false
  • true ← (по умолчанию)

Конфигурация:

  • Запись INI:

    [paramiko_connection]
    use_rsa_sha2_algorithms = true
    
  • Переменная окружения: ANSIBLE_PARAMIKO_USE_RSA_SHA2_ALGORITHMS
  • Переменная: ansible_paramiko_use_rsa_sha2_algorithms

user_known_hosts_file

path

Путь к файлу известных хостов пользователя.

Используется для проверки ключей SSH-хостов.

По умолчанию: "~/.ssh/known_hosts"

Конфигурация:

  • Запись INI:

    [paramiko_connection]
    user_known_hosts_file = ~/.ssh/known_hosts
    
  • Переменная: ansible_paramiko_user_known_hosts_file

wsl_distribution

string / обязательный

Имя дистрибутива WSL.

Конфигурация:

  • Переменная: wsl_distribution

wsl_remote_ssh_shell_type

string

добавлено в community.general 12.2.0

Тип оболочки, ожидаемый в сеансе SSH (не внутри сеанса WSL).

См. также ansible_shell_type.

Варианты:

  • "cmd" ← (по умолчанию)
  • "powershell"

Конфигурация:

  • Переменная: wsl_remote_ssh_shell_type

wsl_user

string

Пользователь дистрибутива WSL.

Конфигурация:

  • Переменная: wsl_user

Примечание

Записи конфигурации, перечисленные выше для каждого типа записей (переменная Ansible, переменная окружения и т. д.), упорядочены от низкого к высокому приоритету. Например, переменная, расположенная ниже в списке, переопределит переменную, расположенную выше. Типы записей также упорядочены по возрастанию приоритета. Например, запись ansible.cfg (расположенная выше в списке) переопределяется переменной Ansible (расположенной ниже в списке).

Примеры

# ------------------------
# Inventory: inventory.yml
# ------------------------
---
all:
  children:
    wsl:
      hosts:
        example-wsl-ubuntu:
          ansible_host: 10.0.0.10
          wsl_distribution: ubuntu
          wsl_user: ubuntu
      vars:
        ansible_connection: community.general.wsl
        ansible_user: vagrant
# ----------------------
# Playbook: playbook.yml
# ----------------------
---
- name: WSL Example
  hosts: wsl
  gather_facts: true
  become: true
  tasks:
    - name: Ping
      ansible.builtin.ping:
    - name: Id (with become false)
      become: false
      changed_when: false
      args:
        executable: /bin/bash
      ansible.builtin.shell: |
        exec 2>&1
        set -x
        echo "$0"
        pwd
        id
    - name: Id (with become true)
      changed_when: false
      args:
        executable: /bin/bash
      ansible.builtin.shell: |
        exec 2>&1
        set -x
        echo "$0"
        pwd
        id
    - name: Reboot
      ansible.builtin.reboot:
        boot_time_command: systemctl show -p ActiveEnterTimestamp init.scope

Авторы

  • Rui Lopes (@rgl) <ruilopes.com>

Ссылки на коллекцию

  • Отслеживание проблем
  • Репозиторий (исходный код)
  • Задать вопрос
  • Сообщить об ошибке
  • Предложить новую возможность
  • Связь

© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/general/wsl_connection.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API