ssh-import-id
Authorize SSH public keys from trusted online identities
What it is and what it does
ssh-import-id is a command-line tool that automates the process of granting SSH access to cloud instances or servers by fetching public keys directly from trusted online identity providers. Instead of asking collaborators to manually share their SSH keys via chat or email, you run a single command with their GitHub, GitLab, or Launchpad username, and their public keys are automatically added to your authorized_keys file.
The tool is designed for quick team collaboration scenarios—when you need to give a colleague temporary SSH access to debug an issue or review logs. It supports importing multiple users from different services in one command and can be extended with custom key providers via executable scripts. The package depends only on distro for runtime operation and has no known security vulnerabilities.
Use it for:
- Grant SSH access to a colleague on a cloud instance without manually exchanging SSH keys
- Quickly add multiple team members' keys from GitHub during server onboarding
- Provision SSH access for self-hosted GitLab instances by setting GITLAB_URL environment variable
- Automate SSH key management in deployment or infrastructure scripts
- Extend with custom identity providers by creating ssh-import-id-* handler scripts
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
ssh-import-id fetches public SSH keys from GitHub, GitLab, or Launchpad and adds them to your authorized_keys file, eliminating manual key copying for SSH access grants.
Yes, if you regularly grant SSH access to cloud instances or servers and want to eliminate manual key-copying workflows. The low install friction, active maintenance, and absence of vulnerabilities make it safe to use. GPLv3 copyleft is not a barrier for most use cases. Verify Python version compatibility before deploying to older systems.
Install
ssh-import-id on PyPI
pip
pip install ssh-import-iduv
uv add ssh-import-idpoetry
poetry add ssh-import-idInstalling ssh-import-id
Before you install
Low friction: pure Python wheel with a single runtime dependency (distro). Marked active maintenance with a recent release (179 days ago). No known vulnerabilities.
License in practice
GPLv3 copyleft license: you may use and modify the package freely, but any derivative work or distribution must also be licensed under GPLv3 and have source code available.
Quickstart
pip install ssh-import-id
ssh-import-id gh:username
# Or import from multiple services:
ssh-import-id gh:user1 gl:user2 lp:user3
Verify before relying
- Whether the package still works with modern Python versions (requires_python is unspecified in metadata)
- Current state of GitHub/GitLab/Launchpad API compatibility
- Whether self-hosted GitLab support via GITLAB_URL environment variable is still functional
Package facts
| License | GPLv3 (copyleft) |
| Python support | not specified |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — distro |
| Maintenance | actively maintained — 179 days since the last release |
| First released | |
| Downloads | 129,600/month — #11,664 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: ssh_import_id-5.13-py3-none-any.whl
Keywords: ssh, public, key
Tags
More Networking packages
h11 is a pure-Python HTTP/1.1 protocol…
permissive · top 100 on PyPI
psutilpsutil retrieves real-time information about…
permissive · top 1,000 on PyPI
pyOpenSSLpyOpenSSL wraps OpenSSL's SSL/TLS functionality…
permissive · top 1,000 on PyPI
uvloopuvloop is a drop-in replacement for Python's…
permissive · top 1,000 on PyPI
execnetexecnet lets you spawn and communicate with…
permissive · top 1,000 on PyPI
pyzmqPyZMQ provides Python bindings for ZeroMQ…
permissive · top 1,000 on PyPI
idGenerates OIDC identity tokens by automatically…
permissive · top 1,000 on PyPI
sshpubkeysParses and validates OpenSSH public keys,…
permissive · top 5,000 on PyPI
git-url-parseParses Git repository URLs to extract…
permissive · top 15,000 on PyPI
launchpadliblaunchpadlib provides a Python client library…
copyleft · top 15,000 on PyPI
cybrid-api-id-pythonGenerated Python client for the Cybrid Identity…
permissive · top 15,000 on PyPI
oauthenticatorOAuthenticator provides OAuth2 login handlers…
permissive · top 15,000 on PyPI
giturlparseParses and rewrites Git repository URLs from…
permissive · top 1,000 on PyPI
oidc-provider-mockA mock OpenID Connect provider server that runs…
permissive · top 15,000 on PyPI
apache-airflow-providers-sshProvides SSH integration for Apache Airflow,…
permissive · top 5,000 on PyPI
python-keystoneclientPython client library for authenticating with…
permissive · top 5,000 on PyPI