Skip to main content

Az SSH Wrapper

This package provides a wrapper script for the Azure CLI az ssh command. This makes it possible to use az ssh with programs which expect the standard SSH interface, such as Ansible. This is useful for example if you want to deploy an Ansible role to an Azure VM, and you want to automatically connect to the VM using az ssh, rather than needing to manage SSH keys, etc.

az-ssh accepts all the standard SSH arguments, and passes them on directly to az ssh.

It filters out the ControlMaster and ControlPersist options, as there is a known issue using these options with az ssh, which causes az ssh to block for the duration of the ControlPersist value. See the following GitHub issue for details:

https://github.com/Azure/azure-cli-extensions/issues/7285

Requirements

Install from PyPI

Install with pip, pipx or uv tool.

pip install az-ssh-wrapper
pipx install az-ssh-wrapper
uv tool install az-ssh-wrapper

Install latest development version from GitHub

Install with pip, pipx or uv tool

pip install az-ssh-wrapper@git+https://github.com/swsphn/az-ssh-wrapper.git
pipx install az-ssh-wrapper@git+https://github.com/swsphn/az-ssh-wrapper.git
uv tool install az-ssh-wrapper@git+https://github.com/swsphn/az-ssh-wrapper.git

Note: While the package is called az-ssh-wrapper, the installed executable is called az-ssh.

Examples

If you can already connect to a VM using the following Azure CLI command, this wrapper will enable Ansible to connect in the same way:

az ssh vm --ip 1.2.3.4

For example, the above command using this wrapper is:

az-ssh 1.2.3.4

If you need to pass options or arguments to SSH, Azure CLI requires you to use the following syntax:

az ssh vm --ip 1.2.3.4 -- <options>

For example, to connect to the server, run the date command, then exit:

az ssh vm --ip 1.2.3.4 -- date

In contrast, Az SSH Wrapper allows you to use the standard SSH form:

az-ssh 1.2.3.4 date

Use with Ansible

After installing this package you can simply specify ansible_ssh_executable = az-ssh, and it will automatically connect to the VM using your Azure credentials with your existing Azure CLI login. For example, you could configure this as a variable in your hosts inventory file.

Use with scp

Use -S az-ssh to instruct scp to use az-ssh:

scp -S az-ssh testfile azure-vm.example.com:

Use with rsync

Use -e az-ssh to use az-ssh with rsync:

rsync -e az-ssh --progress testfile azure-vm.example.com:

Metadata

Release files for az-ssh-wrapper 1.0.3.post1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for az-ssh-wrapper 1.0.3.post1
File Size Uploaded
az_ssh_wrapper-1.0.3.post1.tar.gz 4.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for az-ssh-wrapper 1.0.3.post1
File Interpreter ABI Platform
az_ssh_wrapper-1.0.3.post1-py3-none-any.whl Python 3 none any Details

Total release size: 10.3 kB

Release files / az_ssh_wrapper-1.0.3.post1.tar.gz

Download URL az_ssh_wrapper-1.0.3.post1.tar.gz
Size 4.9 kB
Tags Source
SHA-256 checksum
How to use checksums
a9566d9c88cb7f335a4f12d70c99b5c6348abf471d1f35db788b827124a4bf7c
BLAKE2b-256 checksum
How to use checksums
66ce06696645e9a6ba775178b1a727b96ec967e894af5b21764c698a2640ecbd
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 4, 2025.

Transparency log

Release files / az_ssh_wrapper-1.0.3.post1-py3-none-any.whl

Download URL az_ssh_wrapper-1.0.3.post1-py3-none-any.whl
Size 5.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2a72d37d82808bbd2c655ad3c4a9c3fdc66724d47742b21d939293e116548443
BLAKE2b-256 checksum
How to use checksums
6d2c5ec3a068712814b923e2980f6a30edf9be640a239f03202974547a219eae
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 4, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.3.post1 This release

2 release files

1.0.3

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page