自动生成VCS的SSH密钥

gitsshgen的Python项目详细描述


py gitsshgen公司

自动生成VCS的SSH密钥

为什么?在

我对云端和网上托管的几十家不同的风投公司一遍又一遍地重复同样的程序感到非常厌烦。甚至在hublab中也没有提供完整的保证解决方案,用于跨不同平台登录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输出私钥。在

您可以使用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兼容性

  1. Github公司
  2. 吉特实验室
  3. 高脚镜
  4. 斗式钻头
  5. 吉特亚

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
地址簿在地址簿中添加和检查Java中的条目   java在请求范围中存储和检索值   java Android:您能否使用AlertDialog清除数据,以便在启动电子邮件活动后数据不会损坏?   用户和角色的javajpa设计   java为什么mybatis更新和删除不起作用?   在使用swingx jxtreetable进行测试时,java Fest的速度会减慢   如何使用ApachePOI4.0XDDFChartData、XDDFBarChartData生成堆叠条形图;在使用java的excel工作表中,我不想使用jfree   oauth Java执行oAuth1。0具有给定consumerKey、ConsumerCret、accessToken、accessTokenSecret和realm的已验证请求   java TTS OuttanceProgressListener无法正常工作   java if条件在不同的环境中返回不同的值   java Spring Boot应用程序的嵌入式HTTP服务器在哪里?   基于SSL的java SOAP客户端:sun。安全供应商。certpath。SunCertPathBuilderException:找不到请求目标的有效证书路径   java StringBuilder()与StringBuilder(空)与StringBuilder(“”)