九游平台/ 代码托管 codearts repo/ 常见问题/ 认证鉴权问题/ 在一台电脑上,如何配置多个ssh key?
更新时间:2024-09-09 gmt 08:00

在一台电脑上,如何配置多个ssh key?-九游平台

场景描述

开发人员通常只会生成一个ssh key,名字叫id_rsa,然后提交到多个不同的网站(如:github、codearts或gitee)。

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

操作步骤

  1. 在本地git仓库生成两个不同的ssh key。
    1
    2
    3
    4
    ssh-keygen -t rsa -c "email"
    generating public/private rsa key pair.
    enter file in which to save the key (~/.ssh/id_rsa):<不要直接回车填写自己定义的名字>
    enter passphrase(empty for no passphrase):<不要直接回车填写自己定义的密码>
    

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

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

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

  1. 编辑~/.ssh/config文件。
     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    host dc_1
    hostname *******.com
    identityfile ~/.ssh/dc_1
    preferredauthentications publickey
    user username1
    host dc_2
    hostname *******.com
    identityfile ~/.ssh/dc_2
    preferredauthentications publickey
    user username2
    
    要点在于host与hostname的区别:
    • hostname:是填写真实的服务地址。
    • host:是填写别名,后面会用上。
    • identityfile:填写的是证书的所在位置,你也可以把证书保存在任何地方。
  1. 读写代码。

    在web页面上复制的ssh url,可以直接使用,例如:

    1
    git@*****.com:name/repo.git
    

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

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

相关文档

网站地图