zoukankan      html  css  js  c++  java
  • Git本地配置多个SSH-Key公钥登录

    背景

    当一台工作电脑需要通过SSH-Key方式登录多个git账号时,比如:

    a. 一个mygit,用于公司内部比较隐私的工作开发;

    b. 一个gitee,用于公司内部普通的工作开发;

    c. 一个github,用于自己进行一些公开的分享的开发活动;

     Git服务器部署在Linux服务器上。

    解决方法

    1. 生成一个公司用的mygit的SSH-Key

    $ ssh-keygen  -t  rsa  -C  'xxxx@company.com'  -f  ~/.ssh/mygit_id_rsa

    2. 生成一个公司用的gitee的SSH-Key

    $ ssh-keygen  -t  rsa  -C  'xxxx@company.com'  -f  ~/.ssh/gitee_id_rsa

    3. 生成一个github用的SSH-Key

    $ ssh-keygen  -t  rsa  -C  'xxxx@qq.com'  -f  ~/.ssh/github_id_rsa

    4. 在用户目录 ~/.ssh 目录下新建一个名为config的文件,添加如下内容

    # mygit
    Host  192.168.80.129
    PreferredAuthentications  publickey
    IdentityFile  ~/.ssh/mygit_id_rsa
    
    # gitee,Host值为域名或者ip(必填);HostName值为域名或者ip(非必须);User值可任意(非必须)
    Host  gitee.com
    HostName  gitee.com
    User  gitee
    PreferredAuthentications  publickey
    IdentityFile  ~/.ssh/gitee_id_rsa
    
    # github
    Host  github.com
    PreferredAuthentications  publickey
    IdentityFile  ~/.ssh/github_id_rsa

    5. 把.pub文件中的公钥字符串复制到对应平台(公钥文件.pub 可以删掉)。

        对于公司内部搭建的git服务器,则复制到用户目录 ~/.ssh/authorized_keys 文件中(该文件如果没有,则需要手动创建)

        

    6. 用ssh命令分别测试

    $ ssh  -T  git@192.168.80.129
    $ ssh -T git@gitee.com
    $ ssh -T git@github.com

    这里以gitee为例,成功的话会返回下图所示

    ssh-keygen命令介绍:

    格式:ssh-keygen  -t  rsa  -C  root@localhost  -f  ~/.ssh/id_rsa  -P  <密码>

    -t:指定生成密钥类型(rsa、dsa)。默认为rsa

    -f:指定存放私钥的文件名,默认为id_rsa。公钥文件名默认为私钥文件名加.pub后缀。~:代表用户目录。

    -P:指定passphrase(私钥的加密密码),用于确保私钥的安全。默认为空。

    -C:备注(非必须,可任意写)。默认为user@hostname。建议填写邮箱地址:youremail@example.com

    PS:1. 密钥对是特殊的密码对,用于linux用户登录时的鉴权。
               私钥(比较隐私)放在本地,公钥字符串则手动复制到公司的linux服务器的用户目录 ~/.ssh/authorized_keys 文件中(需要手动创建)
               登录时就基于某用户名和密钥指纹进行私钥公钥的成对匹配,匹配通过则允许登录。

            2.一般情况下,本地客户端可以使用同一个密钥(私钥),同时登陆gitee网站(仅限一个用户)、github网站(仅限一个用户)、公司git服务器(一个git用户)。

  • 相关阅读:
    作为另一个函数的值(读书摘)
    算法-二分查找与二叉排序树
    算法-图
    算法-二叉树
    算法-分治
    算法-回溯
    算法-动态规划
    算法-贪心
    算法-堆
    算法-栈,队列
  • 原文地址:https://www.cnblogs.com/crowbrother/p/13798877.html
Copyright © 2011-2022 走看看