同一主机设置多个密钥与不同github账号关联,或同一主机同一密钥分别关联github和gitlab

前言

github一把公钥只能用于一个github账户,如果想在同一主机上给两个属于不同账户的仓库提交时,必须在本地创建两对公/私钥匙,分别把两把公钥给两个帐号。

或者有时候,你公司内部使用的gitlab,同时你个人又有github,你想用同一个公钥将仓库分别提交到github和gitlab。

多个密钥管理多个github/gitlab

1 生成密钥

生成第一把公钥:
ssh-keygen -t rsa -C "kobe@email.com"
# 设置名称为id_rsa_kobe
Enter file in which to save the key ((/home/xxxx/.ssh/id_rsa)): id_rsa_kobe
#添加到SSH agent中
ssh-add id_rsa_kobe

制造第二把公钥:
ssh-keygen -t rsa -C "jordan@email.com"
# 设置名称为id_rsa_jordan
Enter file in which to save the key ((/home/xxxx/.ssh/id_rsa)): id_rsa_jordan

#添加到SSH agent中
ssh-add id_rsa_jordan

2 将公钥添加到你要提交的github和gitlab账户上

3 配置ssh

# 在.ssh目录下配置config文件:
Host kobe
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_kobe
Host jordan
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_jordan

4 测试,如下表示OK

ssh -T kobe
Hi kobe! You've successfully authenticated, but GitHub does not provide shel l access.
ssh -T ranpop
Hi jordan! You've successfully authenticated, but GitHub does not provide shel l access.

5 用Host指定使用哪个公钥操作远程仓库

对于kobe帐号下的仓库:
git clone kobe:githubname/repository.git
(原地址是:git@github.com:githubname/repository.git,替换后应该是:kobe:githubname/repository.git)
对于ranpop帐号下的仓库:
git clone jordan::githubname/repository.git
(原地址是:git@github.com:githubname/repository.git,替换后应该是:jordan:githubname/repository.git)

6 如果本地已有仓库

# 如果已经使用原地址克隆过了,可以使用如下命令修改
git remote set-url origin kobe:githubname/repository.git
# 如果是本地新建的仓库,可以使用如下命令添加
git remote add origin jordan:githubname/repository.git

同一密钥分别关联github和gitlab

1 生成密钥方法同上

2 将公钥添加到你要提交的github和gitlab账户上

3 配置ssh

# 在.ssh目录下配置config文件:
Host github
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa_kobe
Host gitlab
HostName gitlab.com
User git
IdentityFile ~/.ssh/id_rsa_kobe

4 测试,如下表示OK

ssh -T github
Hi kobe! You've successfully authenticated, but GitHub does not provide shel l access.
ssh -T gitlab
Welcome to GitLab, @kobe!

5 本地同一仓库分别关联github和gitlab

git remote add github github:githubname/repository.git
git remote add gitlab gitlab:githubname/repository.git

6 可以使用github gitlab分别对不同上游进行操作

# 推送master分支到github
git push github master
# 推送master分支到gitlab
git push gitlab master

原文地址:https://www.cnblogs.com/logchen/p/10543808.html

时间: 2024-10-11 18:09:31

同一主机设置多个密钥与不同github账号关联,或同一主机同一密钥分别关联github和gitlab的相关文章

Apache与Nginx虚拟主机设置(多域名和多端口的区别)

为了方便管理虚拟主机,应该尽量少修改主配置文件http.conf或者nginx.conf,大部分修改变更都在虚拟主机片配置文件httpd- vhost.conf或者vhost.conf中完成,这样有利于调试,降低风险.即便把虚拟主机配置文件修改得一团糟,只要把主配置文件中包含虚拟主机 配置文件的一行注释掉即可. Apache(多域名): 第一步首先要使扩展文件httpd/conf.d/vhosts.conf生效: 1. 打开 apache2/conf/httpd.conf 文件 2. 找到 #

Zabbix监控Linux主机设置

说明: Zabbix监控服务端已经配置完成,现在要使用Zabbix对Linux主机进行监控. 具体操作: 以下操作在被监控的Linux主机进行,这里以CentOS 6.x系统为例. 一.配置防火墙,开启10050.10051的TCP和UDP端口 vi /etc/sysconfig/iptables #编辑防火墙配置文件 -A INPUT -s 192.168.21.127 -m state --state NEW -m tcp -p tcp --dport 10050:10051 -j ACCE

虚拟主机设置伪静态的三种方法

如今,很多站长都有使用香港虚拟主机来搭建网站,比较常见的有Linux香港虚拟主机.Windows香港虚拟主机. 值得一提的是,为了有利于网站的收录,很多站长使用香港虚拟主机搭建好网站后,一般都会进行伪静态设置.那么,在使用香港虚拟主机的话,网站的伪静态是怎么设置的?这里就来简单的了解下. 目前,Windows香港虚拟主机采用的是IIS服务器,而Linux香港虚拟主机采用的是Apache服务器.因此,如果要想设置伪静态的话,我们需要在其相应的配置文件中进行设置,对应关系如下: 1.iis7.iis

如何在虚拟主机设置301定向

1步骤:找到虚拟主机的文件根目录2在空间的根目录下新建文件“httpd.ini”,在里面写入:[ISAPI_Rewrite]RewriteCond Host: ^XXX\.COM$RewriteRule (.*) http\://www\.XXX\.COM$1 [I,RP]3如果看不懂,我举例:加入我们想让域名xiao-bai.net直接跳转到www.xiao-bai.net代码就可以这样加入:[ISAPI_Rewrite]RewriteCond Host: ^xiao-bai\.net$Rew

nginx虚拟主机设置

1.http服务上支持若干虚拟主机.每个虚拟主机一个对应的server配置项,配置项里面包含该虚拟主机相关的配置.参考文章,https://blog.csdn.net/liqi_q/article/details/78799121.2.什么是虚拟主机虚拟主机使用的是特殊的软硬件技术,它把一台运行在因特网上的服务器主机分成一台台"虚拟"的主机.每台虚拟主机都可以是一个独立的网站,可以具有独立的域名,具有完整的Intemet服务器功能(WWW.FTP.Email等).同一台主机上的虚拟主机

Zabbix 3.4.7针对一些主机设置期间维护

场景说明: 由于公司有些主机设置了定时开机关机,每次开机关机得时候都会发邮件告警,每次都需要值班人员提醒,为了处理这种无效告警,可以在zabbix中设置维护 zabbix中的维护---维护期间:用来设置某些主机在指定的时间内不发告警 首先创建一个"维护期间" 选择维护中的主机,设置完毕 原文地址:https://www.cnblogs.com/lkun/p/9829077.html

c# 主机和网络字节序的转换 关于网络字节序和主机字节序的转换

最近使用C#进行网络开发,需要处理ISO8583报文,由于其中有些域是数值型的,于是在传输的时候涉及到了字节序的转换. 字节顺序是指占内存多于一个字节类型的数据在内存中的存放顺序,通常有两种字节顺序,根据他们所处的位置我们分别称为主机节序和网络字节序. 通常我们认为网络字节序为标准顺序,封包的时候,将主机字节序转换为网络字节序,拆包的时候要将网络字节序转换为主机字节序. 原以为还要自己写函数,其实网络库已经提供了. 主机到网络:short/int/long IPAddress.HostToNet

nginxlinux下虚拟主机设置

1.ubuntu15.10,nginx1.4,php5.5 2.集成包phpstudy 3.配置虚拟主机 i)./phpstudy/server/nginx/config/nginx.conf为默认nginx配置文件,一般无需修改 ii).添加虚拟主机只需修改/phpstudy/server/nginx/config/vhost(需要root权限,建议先设置为777)目录下文件,默认存在一隐藏文件phpstudy.conf,添加文件内容 server{ listen 80; server_nam

练习----基于ip的虚拟主机设置

注意: 设置文件一般在/etc/httpd/conf.d目录下 1.vim   /etc/httpd/conf.d/vhost1.conf 创建vhost1.conf文件并输入下面内容 <VirtualHost 192.168.1.26:80>ServerName www1.magedu.comDocumentRoot /data/vhosts/www1</VirtualHost> 2.vim   /etc/httpd/conf.d/vhost2.conf 创建vhost2.con