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,如需转载请自行联系原作者



相关文章
|
6月前
|
网络安全 数据安全/隐私保护 开发者
诊断并修复SSH连接Github时遇到的"connection closed"错误。
解决"connection closed"错误往往是一个排除法的过程。需要从基础的网络检查做起,逐步过渡到深入的配置和服务端日志审查。每一步都应当仔细验证,确保不遗漏可能导致连接问题的任何细节。在执行以上步骤后,大多数SSH连接问题可以得到解决。如果所有步骤都未能解决问题,可能需要寻求更专业的技术支持,或者在GitHub社区寻找是否有其他开发者遇到并解决了类似的问题。
829 0
|
6月前
|
安全 网络安全 数据安全/隐私保护
解决SSH测试连接GitHub时出现“connection closed by remote host”的问题。
然后使用 `ssh -T git@ssh.github.com`来测试连接。
799 0
|
7月前
|
网络安全 开发工具 git
GitHub 多账户 SSH 配置指南
本文介绍了如何在同一台电脑上配置多个 GitHub 账户的 SSH 密钥。内容包括:检查现有密钥、生成新的 SSH 密钥、配置 SSH config 文件、将公钥添加到 GitHub、验证 SSH 连接、设置 Git 用户信息、创建工作区目录、使用不同账户克隆仓库,以及为每个仓库配置独立的用户信息等步骤。通过这些操作,可以实现在不同项目中使用不同的 GitHub 账户进行提交和管理。
551 0
|
Devops Shell 网络安全
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
639 16
git使用之如何将一套代码同时推送至github|gitee|gitcode|gitlab等多个仓库-含添加ssh-优雅草央千澈完美解决-提供整体提交代码
|
Shell 网络安全 开发工具
github多用户ssh配置
在Windows 10环境下,当需使用多个GitHub账号进行开发操作时,可通过生成多个SSH密钥对并配置SSH `config` 文件实现。步骤包括:1) 使用`ssh-keygen`命令为每个账号生成密钥对,保存在`C:\Users\<USERNAME>\.ssh`目录;2) 编辑`config`文件,设定每个Host对应的身份文件和用户信息,如果需要,配置代理;3) 验证通过`git clone`不同仓库来确保配置正确。
428 0
|
存储 网络安全
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 证书验证(不推荐)、联系仓库管理员、检查系统时间和尝试其他镜像。
4314 1
|
网络协议 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
|
安全 网络协议 Shell
Github代码仓库SSH配置流程
这篇文章是关于如何配置SSH以安全地连接到GitHub代码仓库的详细指南,包括使用一键脚本简化配置过程、生成SSH密钥对、添加密钥到SSH代理、将公钥添加到GitHub账户以及测试SSH连接的步骤。
865 0
Github代码仓库SSH配置流程
|
安全 Shell 网络安全
告别繁琐密码,一键解锁GitHub高效秘籍!SSH配置大揭秘,让你的代码托管之旅飞起来!
【8月更文挑战第4天】在使用GitHub时,频繁输入账号密码颇为不便。采用SSH协议可提升安全性并简化流程。本文以问答形式指导你快速配置GitHub SSH:了解SSH优势、学会生成与添加SSH密钥及测试连接。通过简单的步骤,即可实现无缝代码推送与拉取,享受高效、安全的开发体验。记得保护好私钥并根据需要设置多个密钥对。
364 7
|
网络安全 开发工具 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 亲测有效
5919 1