Automatic generation of SSH keys for VCS
Project description
py-gitsshgen
Automatic generation of SSH keys for VCS
Why?
I was incredibly tired of doing the same procedure over and over for dozens of different VCS hosted in cloud and on-prem. There was no full-pledge solution offered even in hub
and lab
for end-to-end setup of SSH key for login to Git across different platforms.
How to use?
The script generates RSA 4096 bits keypair and pushes public key to VCS using PAT (Personal Access Token) or App Password (Bitbucket only). The private key automatically goes to ~/.ssh/{name}.pem
+ reference to it is appended to ~/.ssh/config
for automatic pickup by Git with OpenSSH configuration. The setup is assumed OpenSSH always.
You can install it using pip
pip install gitsshgen
All actions are done interactively in terminal:
usage: gitsshgen [-h] [-t T] [-api API_URL] [-n N] [-b BITS] [-re RSA_EXPONENT] [-sl SSH_LABEL] {github,gitlab,bitbucket,gogs,gitea} url u
positional arguments:
{github,gitlab,bitbucket,gogs,gitea}
instance type
url instance url
u instance username
optional arguments:
-h, --help show this help message and exit
-t T personal application token
-api API_URL API URL endpoint
-n N, --name N name for private key
-b BITS, --bits BITS bits size for RSA key
-re RSA_EXPONENT, --rsa-exponent RSA_EXPONENT
rsa exponent for RSA key
-sl SSH_LABEL, --ssh-label SSH_LABEL
ssh label in VCS
Example with token:
gitsshgen bitbucket bitbucket.org testusername -t testtoken
If you don't provide token, script will open browser on page where you can make one, and ask you to enter it.
gitsshgen bitbucket bitbucket.org testusername
VCS Compatibility
- Github
- Gitlab
- Gogs
- Bitbucket
- Gitea
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file gitsshgen-1.2.2.tar.gz
.
File metadata
- Download URL: gitsshgen-1.2.2.tar.gz
- Upload date:
- Size: 6.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e550c20aa2195c7b099f3b69655fb8df981761f50abac7b979c9e1a2afba46cb |
|
MD5 | 274dc952ac091b6e15512d52fe0082da |
|
BLAKE2b-256 | a49bcdb8a365c8779da0ca866329450424b9b81ef0754cd4e0d4a5ec25c1457f |
File details
Details for the file gitsshgen-1.2.2-py3-none-any.whl
.
File metadata
- Download URL: gitsshgen-1.2.2-py3-none-any.whl
- Upload date:
- Size: 12.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/45.1.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 68d77c921b72fb5ecd6e3ca1db69837216146a30ad8c09c2b500b31207232bfc |
|
MD5 | ae69686c75749ea7ad2120ab2f923402 |
|
BLAKE2b-256 | 54325e1ac193cfc08e279559b04fad503e50118c6beb10662db207485cbad989 |