为VCS自动生成SSH密钥
项目描述
py-gitsshgen
为VCS自动生成SSH密钥
为什么?
我为在不同的云和本地平台上托管的大量VCS重复执行相同的流程感到非常烦恼。即使在 hub
和 lab
中,也没有提供端到端设置SSH密钥以登录Git的完整解决方案。
如何使用?
该脚本生成OpenSSH密钥对,并使用PAT(个人访问令牌)或应用密码(仅限Bitbucket)将公钥推送到VCS。私钥自动放置在 ~/.ssh/{name}.pem
,并附加到 ~/.ssh/config
中,以便Git自动使用OpenSSH配置获取它。假设始终使用OpenSSH。
密钥生成支持的参数 - https://asyncssh.readthedocs.io/en/latest/api.html#asyncssh.generate_private_key 私钥导出支持的参数 - https://asyncssh.readthedocs.io/en/latest/api.html#asyncssh.SSHKey.export_private_key
默认设置
- 生成算法 - ssh-ed25519
- 无密码
- 使用AES256加密和SHA256散列以及bcrypt 128轮次输出私钥。
您可以使用pip安装它
pip install gitsshgen
所有操作都在终端中交互式执行
usage: gitsshgen [-h] [-t T] [-api API_URL] [-n N] [-a ALGO] [-ks KEY_SIZE] [-e EXPONENT] [-p PASSPHRASE] [-c CIPHER] [-r ROUNDS] [-hn HASH_NAME] [-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
-a ALGO, --algorithm ALGO
algorithm for keypair (default is ssh-ed25519)
-ks KEY_SIZE, --key-size KEY_SIZE
key size (only for RSA)
-e EXPONENT, --exponent EXPONENT
exponent (only for RSA)
-p PASSPHRASE, --passphrase PASSPHRASE
passphrase for OpenSSH key (default is None)
-c CIPHER, --cipher CIPHER
cipher for OpenSSH key (default is aes256)
-r ROUNDS, --rounds ROUNDS
rounds for OpenSSH key (default is 128)
-hn HASH_NAME, --hash-name HASH_NAME
hash name for OpenSSH key (default is sha256)
-sl SSH_LABEL, --ssh-label SSH_LABEL
ssh label in VCS
使用令牌的示例
gitsshgen bitbucket bitbucket.org testusername -t testtoken
如果您不提供令牌,脚本将打开浏览器到可以创建令牌的页面,并要求您输入它。
gitsshgen bitbucket bitbucket.org testusername
VCS兼容性
- GitHub
- Gitlab
- Gogs
- Bitbucket
- Gitea
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分发
gitsshgen-1.2.3.tar.gz (12.2 kB 查看哈希值)
构建分发
gitsshgen-1.2.3-py3-none-any.whl (13.2 kB 查看哈希值)
关闭
gitsshgen-1.2.3.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e9e3235d532fdc60c3153ca4881f98ceb1f64b9955601e72d147c174a46a1523 |
|
MD5 | 5c7d0c862b316da12201f1ea493efa5f |
|
BLAKE2b-256 | 1382e80dd6820df8f8b5fb0176b8daad9843ab73f848cf2653fb945d1dfdb4ce |
关闭
gitsshgen-1.2.3-py3-none-any.whl的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b4d7f030397c12595ca8c12d92c779018a793454aa5af4783965e5f0f633f6e6 |
|
MD5 | fdfadf48c3525c8076b2d0b9ecdbfea8 |
|
BLAKE2b-256 | f227ef9b3af9d88a5a214960291e62884dc4a58ecd6655b8cbc793b55ffe7443 |