文档首页 > > 常见问题> 仓库管理> 在一台电脑上,如何配置多个SSH Key?

在一台电脑上,如何配置多个SSH Key?

分享
更新时间:2020/04/15 GMT+08:00

场景描述

通常,我们只会生成一个SSH Key,名字叫id_rsa,然后提交到多个不同的网站(如:GitHub、DevCloud或Gitee)。

但是也存在另一种需要,我们在同一个网站上,注册了两个用户名,通常网站不会允许我们为这两个用户名,配置同一个SSH Key,这时候就会有些麻烦。

操作步骤

  1. 生成两个不同的SSH Key。

    1
    2
    3
    $ ssh-keygen -t rsa -C "email"
    Generating public/private rsa key pair.
    Enter file in which to save the key (~/.ssh/id_rsa):<不要直接回车,填写自己定义的名字>
    

    这是第一个关键,如果要生成2个Key,这里写成:github_1github_2,如果是访问DevCloud,可以写成dc_1dc_2。这样,就生成了2个证书。

  1. 用不同的账号,上传两个不同的证书。

    读取*.pub的内容,粘贴到服务网站上。记住对应的用户名。

  1. 编辑~/.ssh/config文件。

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    Host dc_1
    HostName codehub.devcloud.*cloud.com
    IdentityFile ~/.ssh/dc_1
    PreferredAuthentications publickey
    User username1
    Host dc_2
    HostName codehub.devcloud.*cloud.com
    IdentityFile ~/.ssh/dc_2
    PreferredAuthentications publickey
    User username2
    
    要点在于Host与HostName的区别:
    • HostName:是填写真实的服务地址。
    • Host:是填写别名,后面会用上。
    • IdentityFile:填写的是证书的所在位置,你也可以把证书保存在任何地方。

  1. 读写代码。

    原本我们在Web页面上复制的SSH URL,可以直接使用,例如:

    1
    git@codehub.devcloud.*cloud.com:name/repo.git
    

    但是,现在根据你的账号不同,需要自行替换:

    1
    git@dc_1:name/repo.git 或 git@dc_2:name/repo.git
    

分享:

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问