自动生成VCS的SSH密钥
gitsshgen的Python项目详细描述
py gitsshgen公司
自动生成VCS的SSH密钥
为什么?在
我对云端和网上托管的几十家不同的风投公司一遍又一遍地重复同样的程序感到非常厌烦。甚至在hub
和lab
中也没有提供完整的保证解决方案,用于跨不同平台登录Git的SSH密钥的端到端设置。在
如何使用?在
该脚本生成OpenSSH密钥对,并使用PAT(个人访问令牌)或App Password(仅限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哈希和128轮bcrypt输出私钥。在
您可以使用pippip 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公司
- 吉特实验室
- 高脚镜
- 斗式钻头
- 吉特亚
- 项目
标签: