Spec-Zone.ru › Ansible

Подключение google.cloud.iap — подключение по SSH через прокси-сервер Google Cloud с учетом идентификации (IAP)

Примечание

Этот плагин подключения входит в коллекцию google.cloud (версия 1.13.0).

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

Чтобы установить ее, используйте: ansible-galaxy collection install google.cloud.

Чтобы использовать ее в плейбуке, укажите: google.cloud.iap.

  • Обзор
  • Параметры
  • Примечания

Обзор

  • Этот плагин подключения работает почти так же, как штатный плагин SSH, но создает отдельный процесс IAP для каждого узла в инвентаре, чтобы соединения туннелировались через него.

Параметры

Параметр

Комментарии

control_path

string

Это расположение для сохранения сокетов ControlPath SSH; используются подстановки переменных SSH.

Обратите внимание, что этот параметр игнорируется, если в аргументах ssh задан -o ControlPath.

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

  • Запись INI:

    [ssh_connection]
    control_path = VALUE
    
  • Переменная окружения: ANSIBLE_SSH_CONTROL_PATH
  • Переменная: ansible_control_path

control_path_dir

string

Задает каталог для пути управления SSH, если параметр пути управления имеет значение null.

Кроме того, предоставляет переменную ``%(directory)s`` для параметра пути управления.

По умолчанию: "~/.ansible/cp"

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

  • Запись INI:

    [ssh_connection]
    control_path_dir = ~/.ansible/cp
    
  • Переменная окружения: ANSIBLE_SSH_CONTROL_PATH_DIR
  • Переменная: ansible_control_path_dir

gcloud_access_token_file

string

Файл, из которого считывается токен доступа.

Учетные данные активной учетной записи (если она существует) будут проигнорированы.

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

  • Запись INI:

    [gcloud]
    access_token_file = VALUE
    
  • Переменная окружения: CLOUDSDK_AUTH_ACCESS_TOKEN_FILE
  • Переменная: ansible_access_token_file

gcloud_account

string

Учетная запись Google Cloud, используемая для вызова.

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

  • Запись INI:

    [gcloud]
    account = VALUE
    
  • Переменная окружения: CLOUDSDK_CORE_ACCOUNT
  • Переменная: ansible_gcloud_account

gcloud_configuration

string

Если задано, указывает на нестандартную конфигурацию gcloud.

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

  • Запись INI:

    [gcloud]
    configuration = VALUE
    
  • Переменная окружения: CLOUDSDK_ACTIVE_CONFIG_NAME
  • Переменная: ansible_gcloud_configuration

gcloud_executable

string

Путь к исполняемому файлу gcloud; по умолчанию используется файл, найденный в переменной окружения PATH.

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

  • Запись INI:

    [gcloud]
    executable = VALUE
    
  • Переменная: ansible_gcloud_executable

gcloud_project

string

Идентификатор проекта Google Cloud, используемый для этого вызова.

Если параметр не указан, предполагается, что используется текущий активный проект.

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

  • Запись INI:

    [gcloud]
    project = VALUE
    
  • Переменная окружения: CLOUDSDK_CORE_PROJECT
  • Переменная: ansible_gcloud_project

gcloud_zone

string

Зона Google Cloud, используемая для экземпляра (экземпляров).

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

  • Запись INI:

    [gcloud]
    zone = VALUE
    
  • Переменная окружения: CLOUDSDK_COMPUTE_ZONE
  • Переменная: ansible_gcloud_zone

host

string

Имя экземпляра Google Cloud, к которому нужно подключиться.

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

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

  • Переменная: inventory_hostname
  • Переменная: ansible_host
  • Переменная: ansible_gcloud_host

host_key_checking

boolean

Определяет, должен ли SSH отклонять подключение после проверки ключей хоста.

Варианты:

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

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

  • Записи INI:

    [defaults]
    host_key_checking = false
    
    [ssh_connection]
    host_key_checking = false
    
  • Переменная окружения: ANSIBLE_HOST_KEY_CHECKING
  • Переменная окружения: ANSIBLE_SSH_HOST_KEY_CHECKING
  • Переменная: ansible_host_key_checking
  • Переменная: ansible_ssh_host_key_checking

known_hosts_file

string

Путь к файлу UserKnownHosts, в котором хранятся отпечатки SSH. По умолчанию используется тот же файл, что и для `gcloud compute ssh`.

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

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

  • Записи INI:

    [ssh_connection]
    known_hosts_file = ~/.ssh/google_compute_known_hosts
    
    [gcloud]
    known_hosts_file = ~/.ssh/google_compute_known_hosts
    
  • Переменная: ansible_known_hosts_file
  • Переменная: ansible_gcloud_known_hosts_file
  • Переменная: ansible_ssh_known_hosts_file

password

string

Пароль аутентификации для remote_user. Можно указать как параметр CLI.

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

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

password_mechanism

string

Механизм обработки запроса пароля SSH

Варианты:

  • "ssh_askpass" ← (по умолчанию)
  • "sshpass"
  • "disable"

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

  • Запись INI:

    [ssh_connection]
    password_mechanism = ssh_askpass
    
  • Переменная окружения: ANSIBLE_SSH_PASSWORD_MECHANISM
  • Переменная: ansible_ssh_password_mechanism

pipelining

boolean

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

При включении это может значительно повысить производительность.

Однако это может конфликтовать с повышением привилегий (become). Например, при использовании sudo необходимо сначала отключить requiretty в файле sudoers для целевых хостов, поэтому эта функция по умолчанию отключена.

Варианты:

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

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

  • Записи INI:

    [defaults]
    pipelining = false
    
    [connection]
    pipelining = false
    
  • Переменная окружения: ANSIBLE_PIPELINING
  • Переменная: ansible_pipelining

pkcs11_provider

string

Поставщик смарт-карт PKCS11, например opensc; например, /usr/local/lib/opensc-pkcs11.so

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

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

  • Запись INI:

    [ssh_connection]
    pkcs11_provider = ""
    
  • Переменная окружения: ANSIBLE_PKCS11_PROVIDER
  • Переменная: ansible_ssh_pkcs11_provider

port

integer

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

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

  • Запись INI:

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

private_key

string

Содержимое закрытого ключа в формате PEM. Требуется включить конфигурацию SSH_AGENT.

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

  • Переменная окружения: ANSIBLE_PRIVATE_KEY
  • Переменная: ansible_private_key
  • Переменная: ansible_ssh_private_key

private_key_file

string

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

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

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

  • Записи INI:

    [defaults]
    private_key_file = ~/.ssh/google_compute_engine
    
    [gcloud]
    private_key_file = ~/.ssh/google_compute_engine
    
  • Переменная окружения: ANSIBLE_PRIVATE_KEY_FILE
  • Аргумент CLI: --private-key
  • Переменная: ansible_private_key_file
  • Переменная: ansible_ssh_private_key_file
  • Переменная: ansible_gcloud_private_key_file

private_key_passphrase

string

Парольная фраза закрытого ключа; зависит от private_key.

Это НЕ оказывает никакого влияния при использовании с private_key_file.

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

  • Переменная окружения: ANSIBLE_PRIVATE_KEY_PASSPHRASE
  • Переменная: ansible_private_key_passphrase
  • Переменная: ansible_ssh_private_key_passphrase

reconnection_retries

integer

Количество попыток подключения.

Ansible повторяет попытки подключения только в случае ошибки SSH с кодом возврата 255.

Любые ошибки с кодами возврата, отличными от 255, указывают на проблему при выполнении программы.

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

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

  • Записи INI:

    [connection]
    retries = 0
    
    [ssh_connection]
    retries = 0
    
  • Переменная окружения: ANSIBLE_SSH_RETRIES
  • Переменная: ansible_ssh_retries

remote_user

string

Имя пользователя для входа на удаленный сервер; обычно задается ключевым словом remote_user.

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

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

  • Запись INI:

    [defaults]
    remote_user = VALUE
    
  • Переменная окружения: ANSIBLE_REMOTE_USER
  • Аргумент CLI: --user
  • Ключевое слово: remote_user
  • Переменная: ansible_user
  • Переменная: ansible_ssh_user

scp_executable

string

Задает расположение двоичного файла scp. По умолчанию используется scp, который выбирает первый доступный двоичный файл в $PATH.

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

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

  • Запись INI:

    [ssh_connection]
    scp_executable = scp
    
  • Переменная окружения: ANSIBLE_SCP_EXECUTABLE
  • Переменная: ansible_scp_executable

scp_extra_args

string

Дополнительные аргументы только для CLI scp

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

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

  • Запись INI:

    [ssh_connection]
    scp_extra_args = ""
    
  • Переменная окружения: ANSIBLE_SCP_EXTRA_ARGS
  • Аргумент CLI: --scp-extra-args
  • Переменная: ansible_scp_extra_args

scp_if_ssh

string

Использовать SCP (протокол безопасного копирования) в качестве резервного варианта, если SFTP недоступен.

Если этот параметр включен и SFTP завершается с ошибкой, Ansible попытается использовать SCP для передачи файлов.

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

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

  • Запись INI:

    [ssh_connection]
    scp_if_ssh = smart
    
  • Переменная окружения: ANSIBLE_SCP_IF_SSH
  • Переменная: ansible_scp_if_ssh

sftp_batch_mode

boolean

Если установлено значение True, sftp будет запущен в пакетном режиме, что позволит обнаруживать ошибки передачи.

Если установлено значение False, sftp не будет запущен в пакетном режиме, что не позволит обнаруживать ошибки передачи.

Варианты:

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

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

  • Запись INI:

    [ssh_connection]
    sftp_batch_mode = true
    
  • Переменная окружения: ANSIBLE_SFTP_BATCH_MODE
  • Переменная: ansible_sftp_batch_mode

sftp_executable

string

Задает расположение двоичного файла sftp. По умолчанию используется sftp, который выбирает первый доступный двоичный файл в $PATH.

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

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

  • Запись INI:

    [ssh_connection]
    sftp_executable = sftp
    
  • Переменная окружения: ANSIBLE_SFTP_EXECUTABLE
  • Переменная: ansible_sftp_executable

sftp_extra_args

string

Дополнительные аргументы только для CLI sftp

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

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

  • Запись INI:

    [ssh_connection]
    sftp_extra_args = ""
    
  • Переменная окружения: ANSIBLE_SFTP_EXTRA_ARGS
  • Аргумент CLI: --sftp-extra-args
  • Переменная: ansible_sftp_extra_args

ssh_args

string

Аргументы, передаваемые всем инструментам CLI ssh.

По умолчанию: "-C -o ControlMaster=auto -o ControlPersist=60s"

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

  • Запись INI:

    [ssh_connection]
    ssh_args = -C -o ControlMaster=auto -o ControlPersist=60s
    
  • Переменная окружения: ansible_ssh_args
  • Переменная: ansible_ssh_args

ssh_common_args

string

Общие дополнительные аргументы для всех инструментов CLI ssh.

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

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

  • Запись INI:

    [ssh_connection]
    ssh_common_args = ""
    
  • Переменная окружения: ANSIBLE_SSH_COMMON_ARGS
  • Аргумент CLI: --ssh-common-args
  • Переменная: ansible_ssh_common_args

ssh_executable

string

Задает расположение двоичного файла SSH. По умолчанию используется ssh, который выбирает первый доступный двоичный файл SSH в $PATH.

Обычно этот параметр не требуется; он может быть полезен, если доступ к системному SSH ограничен или используются оболочки SSH для подключения к удаленным хостам.

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

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

  • Запись INI:

    [ssh_connection]
    ssh_executable = ssh
    
  • Переменная окружения: ANSIBLE_SSH_EXECUTABLE
  • Переменная: ansible_ssh_executable

ssh_extra_args

string

Дополнительные аргументы только для CLI SSH.

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

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

  • Запись INI:

    [ssh_connection]
    ssh_extra_args = ""
    
  • Переменная окружения: ANSIBLE_SSH_EXTRA_ARGS
  • Аргумент CLI: --ssh-extra-args
  • Переменная: ansible_ssh_extra_args

ssh_transfer_method

string

Предпочтительный способ передачи файлов через SSH

Варианты:

  • "sftp"
  • "scp"
  • "piped"
  • "smart" ← (по умолчанию)

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

  • Запись INI:

    [ssh_connection]
    transfer_method = smart
    
  • Переменная окружения: ANSIBLE_SSH_TRANSFER_METHOD
  • Переменная: ansible_ssh_transfer_method

sshpass_prompt

string

Приглашение для ввода пароля, которое должны искать sshpass/SSH_ASKPASS.

Поддерживается в sshpass 1.06 и более поздних версиях, если password_mechanism установлено в sshpass.

По умолчанию используется Enter PIN for, если задан pkcs11_provider.

По умолчанию используется assword, если password_mechanism установлено в ssh_askpass.

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

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

  • Запись INI:

    [ssh_connection]
    sshpass_prompt = ""
    
  • Переменная среды: ANSIBLE_SSHPASS_PROMPT
  • Переменная: ansible_sshpass_prompt

timeout

integer

Это время ожидания по умолчанию при установлении SSH-подключения.

Оно также определяет, как долго мы будем ждать доступа для чтения данных подключения после его установления (select для сокета).

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

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

  • Записи INI:

    [defaults]
    timeout = 10
    
    [ssh_connection]
    timeout = 10
    
  • Переменная среды: ANSIBLE_TIMEOUT
  • Переменная среды: ANSIBLE_SSH_TIMEOUT
  • Аргумент CLI: --timeout
  • Переменная: ansible_ssh_timeout

use_tty

boolean

Добавляет -tt к командам ssh, чтобы принудительно выделить tty.

Варианты:

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

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

  • Запись INI:

    [ssh_connection]
    usetty = true
    
  • Переменная среды: ANSIBLE_SSH_USETTY
  • Переменная: ansible_ssh_use_tty

verbosity

integer

Запрошенный уровень подробности вывода для CLI SSH.

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

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

  • Запись INI:

    [ssh_connection]
    verbosity = 0
    
  • Переменная среды: ANSIBLE_SSH_VERBOSITY
  • Переменная: ansible_ssh_verbosity

Примечание

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

Примечания

Примечание

  • Для работы этого плагина необходимо предварительно настроить аутентификацию gcloud. Можно изменить используемую активную конфигурацию, но плагин не выполняет аутентификацию за вас.
  • Этот плагин в основном является оболочкой для утилиты CLI ``ssh``, и точное поведение параметров зависит от этой утилиты. Это означает, что документация, представленная здесь, может быть переопределена самой утилитой CLI.
  • Для многих параметров здесь по умолчанию задано None, но это означает лишь то, что мы не переопределяем значения по умолчанию и/или конфигурацию инструмента SSH. Например, если указать порт в этом плагине, он переопределит любую запись Port в вашем .ssh/config.
  • Инструмент CLI ssh использует код возврата 255 для обозначения «ошибки подключения». Это может вызвать конфликт с командами/инструментами, которые также возвращают 255 как код ошибки, и плагин будет считать результат состоянием «недоступен» или «ошибка подключения».

Авторы

  • Jorge A Gallegos (@thekad)

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

  • Отслеживание проблем
  • Главная страница
  • Репозиторий (исходный код)

© 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/google/cloud/iap_connection.html

Spec-Zone.ru

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