美文网首页
Git高级之配置多个SSH key

Git高级之配置多个SSH key

作者: 我们都很努力着 | 来源:发表于2020-01-19 16:00 被阅读0次

    最近我们在代码托管平台上使用SSH的方式下拉代码,通常是用一个ssh key来拉取所有托管平台的代码,如码云,GitHub、GitLab等,但是总用一个不是太好。会有安全风险,这就需要为每个托管平台设置单独的SSH-key

    下面我们下简单介绍一下如何创建多个SSH Key并且使用下拉代码。

    第一步、生成SSH-Key

    Windows建议使用Git bash操作

    Linux、mac用户使用默认终端即可

    1. 生成第一个SSH-Key
    $ ssh-keygen -t rsa -C "你的邮箱” -f ~/.ssh/id_rsa_one
    
    1. 生成第二个SSH-Key
    $ ssh-keygen -t rsa -C ""你的邮箱”” -f ~/.ssh/id_rsa_two
    

    创建完成之后 我们在.ssh的根目录下可以看到文件

    • WindowsSSH 目录
    C:\Users\Administrator\.ssh
    
    • Linux、macSSH 目录
    直接 cd ~/.ssh 即可进入
    

    此时,.ssh目录下应该有4个文件:id_rsa_one和id_rsa_one.pub,id_rsa_two和id_rsa_two.pub

    第二步、添加私钥

    在终端中执行

    ssh-add ~/.ssh/id_rsa_one 
    ssh-add ~/.ssh/id_rsa_two
    

    如果执行ssh-add时提示 Could not open a connection to your authentication agent

    可以先执行命令:

    ssh-agent bash
    

    然后再重新运行ssh-add命令即可

    添加成功会出现提示:

    Identity added 等字样
    

    第三步、查看私钥列表是否存在

    ssh-add -l
    

    当我们可以看到2条私钥的时候就证明安装成功了,别急还没有完

    第四步 修改配置文件config

    若.ssh目录(就是私钥所在的文件夹)下无config文件,那么创建

    touch config
    
    打开 config 文件 配置如下格式 这里要注意 IdentityFile 后面对应的是 本地ssh key文件路径
    
    # gitee
    Host gitee.com
    HostName gitee.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa_one
    # github
    Host github.com
    HostName github.com
    PreferredAuthentications publickey
    IdentityFile ~/.ssh/id_rsa_two
    

    第五步 用ssh命令测试验证

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

    验证通过后即可愉快的clone代码了

    附:

    清空私钥列表

    $ ssh-add -D
    

    有问题请在下方留言或者加入星球

    相关文章

      网友评论

          本文标题:Git高级之配置多个SSH key

          本文链接:https://www.haomeiwen.com/subject/ayirzctx.html