ssh密钥配置多个github账号

文章目录

      • 一 生成新的ssh密钥
      • 二 复制新的公钥到github账号
      • 三 配置~/.ssh/config 文件
      • 四 测试ssh到github服务器的连接
          • 1、查看系统ssh-key代理,执行如下命令
          • 2、然后依次将不同的ssh添加代理,执行命令如下:
      • 五 注意事项

同一台电脑的同一个ssh共钥无法配置到多个github账号。例如公司的电脑ssh公钥配置到公司的github账号后,无法在使用同一个公钥配置个人的github账号。这时候需要生成多个ssh密钥,分别配置给不同的github账户

一 生成新的ssh密钥

ssh-keygen -t rsa -f "new_name"

-f 给新生成的密钥自定义命名,否则生成的是默认密钥:id_rsa与id_rsa.pub 它会覆盖掉现有的默认密钥
生成的密钥文件如下图:

在这里插入图片描述

二 复制新的公钥到github账号

这一步登陆个人的giuhub账号,将新生成的公钥配置到guthub上即可。

三 配置~/.ssh/config 文件

如果没有config文件,就在~/.ssh目录创建config文件, 该文件用于配置ssh私钥对应的服务器

vim config

以下为详细的config配置内容

# key1 公司的github账号
# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id-rsa

# key2 我个人的guthub账号, xxx.github.com. me是自定义的
Host me.github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/littlerpl.git

四 测试ssh到github服务器的连接

ssh -T [email protected]
ssh -T [email protected] 

如下图,说明我们的配置成功,到此就可以结束了。
在这里插入图片描述
如果出现如下:

Permission denied (publickey)

需要先查看ssh权限

1、查看系统ssh-key代理,执行如下命令
ssh-add -l

以上命令如果输出The agent has no identities. 则表示没有代理。

如果系统有代理,可以执行下面的命令清除代理:

ssh-add -D
2、然后依次将不同的ssh添加代理,执行命令如下:
ssh-add ~/.ssh/id_rsa
ssh-add ~/.ssh/littlerpl.git 

littlerpl.git是个人密钥文件, 之后再次进行ssh测试即可.


五 注意事项

在第三步 配置完成后,在连接非默认账号的github仓库时,远程的地址要对应的作出修改.
配置了me.github.com用作个人的git我们就不能在用git@github了,要是用[email protected]
例:

git clone [email protected]:账户名/仓库  
git remote add test [email protected]/test.git  添加远程仓库

你可能感兴趣的:(git,linux,ssh,git,github)