linux 添加多个 SSH key

本文详细介绍了如何在Linux环境下为不同的Git服务器配置多个账号,包括清除全局配置、生成SSH密钥、添加公钥到Git服务器、创建SSH config文件以及设置密钥。通过这种方式,可以方便地管理和切换不同Git账户,实现安全的代码拉取。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    1. 开始前, 先把全局配置清除了
    2. git config --global --unset user.name 
    3. git config --global --unset user.email
    4. 例如我要在以下 Git 服务器的账户添加公钥:  

            111.111.111.111  的git 服务建一个  aaa@mail.com 账户的 key

            222.222.222.222:888 的git 服务建一个  bbb@mail.com 账户的 key

    1. 添加秘钥文件
    ssh-keygen -t rsa -C  aaa@mail.com
    出现以下提示,别着急回车
    Generating public/private rsa key pair.
    Enter file in which to save the key (/root/.ssh/id_rsa):
    出现如上提示,让你输入文件路径和文件名,括号内是默认的,此时你要自定义你的全路径,没有什么要求,就是你的多个账户生成的多个秘钥全路径要分开,不然会被覆盖。
    例如这里输入  /root/.ssh/aaa_rsa , 然后一路回车就行

    同理生成第二个秘钥:
    ssh-keygen -t rsa -C  bbb@mail.com
    例如这里输入  /root/.ssh/bbb_rsa , 然后一路回车就行

    然后你会在 /root/.ssh/ 目录下看到 aaa_rsa, aaa_rsa.pub, bbb_rsa, bbb_rsa.pub 四个文件
  1. 把公钥添加到 git 里
    使用以下命令输出 .pub 文件里的内容,复制所有内容
    cat /root/.ssh/aaa_rsa.pub
    粘贴到对应账户的 ssh key 中

    bbb 账户同理
     
  2. 在 .ssh 目录下创建 config 文件
    vim /root/.ssh/config
    #aaa  (aaa 配置)
    Host 111.111.111.111
        HostName 111.111.111.111
        User aaa@mail.com
        IdentityFile ~/.ssh/aaa_rsa
    
    #bbb  (bbb 配置)
    Host 222.222.222.222
        HostName 222.222.222.222
       port  888  // 如果不是默认端口22, 此处需要设置
        User bbb@mail.com
        IdentityFile ~/.ssh/bbb_rsa
  3. 添加密钥( windows下用 gitbash 客户端执行命令 )
    ssh-agent bash
    ssh-add -l   // 查看现有密钥
    exec ssh-agent bash // 如果提示 agent 不存在, 则执行这个命令切换,
    ssh-add -D   // 清空现有密钥
    ssh-add ~/.ssh/id_rsa  // 有其它的, 就都挨个添加
  4. ssh -vT git@github.com   // 测试通了没有

然后就可以愉快的拉代码了

下载地址要用 git@ 开头的, 不能用 http 的

 (以上 ip 也可以是域名,看你们的 git 服务器怎么配置的了)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值