Skip to main content

autossh

Alias-based SSH/SCP toolkit with encrypted password storage.

Wraps ssh/scp via pexpect so you can connect to any host by name without typing passwords. All passwords are stored AES-256-GCM encrypted in a local hosts file.

Install

pip install autossh

Python 3.8+ required. Runtime dependencies: pexpect, pyyaml, cryptography.

Quick start

# 1. Open the host file editor (creates the file on first run)
aedit

# 2. Add a host line, save and quit vim:
#    192.168.0.1   root   mypassword

# 3. On save, aedit prompts for a master password and encrypts all passwords.
#    The master password can be saved to ~/.config/autossh/.env for future use.

# 4. Connect
assh 192.168.0.1

Commands

Command Description
assh <dest> SSH to host
apush <src> <dest>:<path> Push local file to remote
apull <dest>:<path> <dst> Pull remote file to local
acat [dest] Print hosts file (passwords decrypted)
aedit Edit hosts file (passwords decrypted in editor, re-encrypted on save)
amaster init Encrypt a plaintext hosts file for the first time
amaster Rekey: re-encrypt all passwords with a new master password

Run any command with -h for usage details.

Host file format

Each non-comment line:

host[:port][[alias]]    user    password

Examples:

192.168.0.1             root    password1
192.168.0.2:36000       root    password2    ## custom port
192.168.0.3[dev3]       root    password3    ## with alias
192.168.0.4:22[dev4]    root    password4    ## port + alias
192.168.0.5             None    None         ## anonymous
  • host — IP or hostname
  • port — optional, defaults to 22
  • alias — optional short name for assh <alias>
  • user / password — use None for anonymous SSH

Password encryption

Passwords are encrypted with AES-256-GCM using a master password you choose. The master password is derived into a file key via scrypt and stored in ~/.config/autossh/.env (chmod 0600) so you only type it once per machine.

aedit decrypts passwords in memory (temp file in /dev/shm) so the editor always shows plaintext; the hosts file on disk always stores ciphertext.

Configuration

Optional config at ~/.config/autossh/config.yaml:

timeout: 30       # pexpect timeout in seconds (default: 30)
host_file: ~/.config/autossh/hosts   # override host file path

Release files for autossh-cli 1.7.0

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

Source distribution (sdist)

Source distribution for autossh-cli 1.7.0
File Size Uploaded
autossh_cli-1.7.0.tar.gz 16.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for autossh-cli 1.7.0
File Interpreter ABI Platform
autossh_cli-1.7.0-py3-none-any.whl Python 3 none any Details

Total release size: 35.3 kB

Release files / autossh_cli-1.7.0.tar.gz

Download URL autossh_cli-1.7.0.tar.gz
Size 16.7 kB
Tags Source
SHA-256 checksum
How to use checksums
28997d3b62c16e206b74bafb8e54a43143b27c58b6f60a166a26dfc0f2fdb1e9
BLAKE2b-256 checksum
How to use checksums
3e14eb17808fe8ed44fde4d789922207fd0a4e784392c205010805a359744e28
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.6

Release files / autossh_cli-1.7.0-py3-none-any.whl

Download URL autossh_cli-1.7.0-py3-none-any.whl
Size 18.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ad810e16f88a25e2d1e26790a6a0005e7d8a7b364d77998c99a10e7677ed893e
BLAKE2b-256 checksum
How to use checksums
ff01d01f4f1a7b233d96f3bcc593eb037b7c2722b46ed38eb9aa28271ed5a2f8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.6

Release history Release notifications | RSS feed

This release

1.7.0 This release

2 release files

1.6.2

2 release files

1.6.0

2 release files

1.5.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