自动生成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 AudioEffect不支持双簧管?   增加内存后出现java IntelliJ堆大小错误   在unix/linux中工作的java中将unicode字符串转换为ASCII   java是否缺少正确对齐输出的值?   java Spring 3 MVC:动态表单中的onetomany(创建/更新时添加/删除)   java在接口中创建两个通用参数   lambda使用Java 8从嵌套列表中使用forEach查找项的替代方法是什么?   Java正则表达式匹配10位电话号码,中间有空格   linux将log4j外部化。使用命令行Java的属性文件   带有SSL的java简单RMI服务器   java无法为事务[…]打开JPA EntityManager无法获取驱动程序类“null”和URL“null”的连接   Android设备上的java Oauth Foursquare   for循环的ImageButton名称的java骰子模拟浓缩   java有没有简单的1d条形码阅读器?   如何在调用resultset后解决“无效字符串或缓冲区长度”。从java到访问mdb的getString()连接   在Java8中,是否可以使用JVM参数来控制何时(或在什么条件下)卸载类?