github 多账号使用ssh key

简介:

一直在用github的ssh key,大家都知道使用ssh key可以不用每次都输入用户名密码,一定程度上可以提高效率。

如果是单账户,很方便,默认拿id_rsa与你的 github服务器的公钥对比;

如果是多用户如user1,user2,在同一台服务器上,那么id_rsa_pub就不能用在user2的身上了,怎么办呢?

一、新建user1、user2的SSH Key

#新建user1 SSH key:

1
2
cd  ~/. ssh    
  ssh -keygen -t rsa -C  "user1@email.com"

一路回车即可;

wKiom1esNJrhhfsQAAM8CWgcQ5A919.png-wh_50

 # 新建user2的SSH key

1
#ssh-keygen -t rsa -C "user2@email.com"

# 设置名称为

1
2
Enter  file  in  which  to save the key ( /c/Users/Administrator/ . ssh /id_rsa ):
  /c/Users/Administrator/ . ssh /id_rsa_user2


wKioL1esNKyQQtlQAAMGLgTAq9U369.png-wh_50



二、

密钥添加到SSH agent中

因为默认只读取id_rsa,为了让SSH识别新的私钥,需将其添加到SSH agent中:

1
ssh -add  ~/. ssh /id_rsa_user2

如果出现Could not open a connection to your authentication agent的错误,就试着用以下命令:

1
2
ssh -agent   bash
ssh -add  ~/. ssh /id_rsa_user2

wKioL1esNSeDYsA3AAKFBOFqlfE099.png-wh_50


三、

修改config文件

 在~/.ssh目录下找到config文件,如果没有就创建:

1
touch  config

然后修改我的config配置如下:

如果存在的话,其实就是往这个config中添加一个Host:

#建一个github别名,新建的帐号使用这个别名做克隆和更新

其规则就是:从上至下读取config的内容,在每个Host下寻找对应的私钥。

这里将GitHub SSH仓库地址中的git@github.com替换成新建的Host别名如:github2,那么原地址 是:git@github.com:test/Mywork.git,替换后应该是:github2:test/Mywork.git.


wKiom1esNXGAd3NxAAJP0YHN-r4715.png-wh_50


四、

打开新生成的~/.ssh/id_rsa_user2.pub文件,将里面的内容添加到GitHub后台。(第二个新账号)

第一个github帐号下的SSH Key中也要记得添加。(添加到第一个账号)

添加相信大家都会,不操作了


五、

测试

$ ssh -T git@github.com

Hi chenlianjiang! You've successfully authenticated, but GitHub does not provide shell access.


 $ ssh -T git@github2

Hi 1047353200! You've successfully authenticated, but GitHub does not provide shell access.

wKioL1esNdPgWqGgAAMYtAQvVIs627.png-wh_50


六、

应用

测试成功,尝试克隆1047353200账号下的远程仓库。如下:

$ git clone git@github2:xxxxxx/git-demo.git


此时,一个服务器,可以拉去不同仓库的代码、







      本文转自crazy_charles 51CTO博客,原文链接:http://blog.51cto.com/douya/1836975,如需转载请自行联系原作者



相关文章
|
1月前
|
存储 网络安全
Curl error (60): SSL peer certificate or SSH remote key was not OK for https://update.cs2c.com.cn/NS/V10/V10SP2/os/adv/lic/base/x86_64/repodata/repomd.xml [SSL: no alternative certificate subject name matches target host name 'update.cs2c.com.cn']
【10月更文挑战第30天】在尝试从麒麟软件仓库(ks10-adv-os)下载元数据时,遇到 SSL 证书验证问题。错误提示为:`Curl error (60): SSL peer certificate or SSH remote key was not OK`。可能原因包括证书不被信任、证书与域名不匹配或网络问题。解决方法包括检查网络连接、导入 SSL 证书、禁用 SSL 证书验证(不推荐)、联系仓库管理员、检查系统时间和尝试其他镜像。
107 1
|
6月前
|
Shell 网络安全 开发工具
github多用户ssh配置
在Windows 10环境下,当需使用多个GitHub账号进行开发操作时,可通过生成多个SSH密钥对并配置SSH `config` 文件实现。步骤包括:1) 使用`ssh-keygen`命令为每个账号生成密钥对,保存在`C:\Users\<USERNAME>\.ssh`目录;2) 编辑`config`文件,设定每个Host对应的身份文件和用户信息,如果需要,配置代理;3) 验证通过`git clone`不同仓库来确保配置正确。
91 0
|
4月前
|
网络协议 Shell 网络安全
ssh: connect to host github.com port 22: Connection refused
本文讨论了在使用Git命令操作GitHub时遇到的"ssh: connect to host github.com port 22: Connection refused"错误,分析了可能的原因,并提供了使用443端口或https协议作为解决方案,最终确定问题是由于DNS解析错误导致,通过修改hosts文件解决。
ssh: connect to host github.com port 22: Connection refused
|
4月前
|
安全 网络协议 Shell
Github代码仓库SSH配置流程
这篇文章是关于如何配置SSH以安全地连接到GitHub代码仓库的详细指南,包括使用一键脚本简化配置过程、生成SSH密钥对、添加密钥到SSH代理、将公钥添加到GitHub账户以及测试SSH连接的步骤。
83 0
Github代码仓库SSH配置流程
|
4月前
|
安全 Shell 网络安全
告别繁琐密码,一键解锁GitHub高效秘籍!SSH配置大揭秘,让你的代码托管之旅飞起来!
【8月更文挑战第4天】在使用GitHub时,频繁输入账号密码颇为不便。采用SSH协议可提升安全性并简化流程。本文以问答形式指导你快速配置GitHub SSH:了解SSH优势、学会生成与添加SSH密钥及测试连接。通过简单的步骤,即可实现无缝代码推送与拉取,享受高效、安全的开发体验。记得保护好私钥并根据需要设置多个密钥对。
68 7
|
4月前
|
Linux 网络安全 API
【Azure 应用服务】App Service For Linux 环境中,如何从App Service中获取GitHub私有库(Private Repos)的Deploy Key(RSA key)呢?
【Azure 应用服务】App Service For Linux 环境中,如何从App Service中获取GitHub私有库(Private Repos)的Deploy Key(RSA key)呢?
|
4月前
|
数据安全/隐私保护
注册Github账号详细过程
注册GitHub账号前,请备妥有效电子邮件地址以接收验证信,设定独特的用户名(仅含字母、数字或单连字符,不以连字符起始或结束),并创建具有一定复杂度的密码。接着,访问GitHub官网(`https://github.com/`),点击右上角的“Sign up”进入注册页面。在此页面填写用户名、电子邮箱与密码,选择是否接收产品更新及公告,通过人机验证后提交。最后,通过注册邮箱内的验证链接完成验证,即可启用您的GitHub账号。
101 0
|
5月前
|
网络安全 开发工具 git
【git】解决git报错:ssh:connect to host github.com port 22: Connection timed out 亲测有效
【git】解决git报错:ssh:connect to host github.com port 22: Connection timed out 亲测有效
1264 1
|
5月前
|
网络安全 开发工具 git
|
5月前
|
网络安全 开发工具 git
使用git克隆仓库报错:Warning: Permanently added‘github.com’ to the .....(ssh )
所以,你可以安全地忽略这个警告,它不会影响到你使用git克隆仓库。如果你已经成功克隆了仓库,那么一切都在正常工作。如果你在克隆过程中遇到其他问题,那可能需要查看具体的错误信息来解决。
131 0