在使用git时,通常是直接ssh-keygen生成默认秘钥.然后将共钥添加到远程仓库,就可以访问了.

但是,当我们有多个repository时,这种方式就不适用了,因为一个秘钥只能关联一个远程仓库.

如果想同时管理多个repository,这时就需要生成多个秘钥,然后配置秘钥和远程仓库的关联.

步骤1.生成指定仓库的秘钥

1. ssh-keygen -t rsa -b  -C "your_email@example.com"
2. Enter a file in which to save the key (/home/you/.ssh/id_rsa): new_repository 这里不再使用默认,而是需要指定ssh key的名字,用来和指定仓库关联
3. 最后输入密码时,一般直接回车即可.

步骤2.为指定仓库设置秘钥配置

1. 进入用户目录的.ssh文件夹中  cd ~/.ssh
2. 创建ssh配置文件,文件名为config touch config
3. 进入config配置
#默认配置
Host github.com
HostName github.com
User git
IdentityFile ~/.ssh/id_rsa
#新仓库指定配置
Host new_repository.github.com
HostName github.com
User git
IdentityFile ~/.ssh/new_repository

步骤3.使用配置的连接别名添加远程仓库

上面的两个配置中,值得注意的是Host不同,第二的Host添加指定前缀(一般为repository的名字)

添加前缀后,我们为本地repository添加远程连接时就不是

git remote add origin git@github.com:user/repository.git
而变成了
git remote add origin git@xxx.github.com:user/repository.git

此配置就是为指定仓库添加别名,好为不同仓库指定不同的秘钥文件

步骤4. 在远程仓库添加deploy_key

1. 首先进入.ssh文件,复制new_repository.pub内容

2. 进入repository settings,在如下页面点击add deploy key 粘贴new_repository.pub

步骤5.测试连接

git init
git add README.md
git commit -m "first commit"
git push -u origin master
 

如何在一台主机上管理自己的多个git repository的更多相关文章

  1. 使用elasticsearch7.3版本在一台主机上部署多个实例组建集群

    系统:centos 7.4 x64 主机ip:192.168.0.160 软件包:elasticsearch-7.3.0-linux-x86_64.tar.gz 配置步骤 vim /etc/secur ...

  2. 一台主机上安装多个Tomcat

    1. 下载解压版的Tomcat,并解压两次,分别命名为Tomcat_Server_01和Tomcat_Server_02: 2. 进入Tomcat_Server_01\bin目录,编辑service文 ...

  3. 关于在一台主机上安装2个不同版本的Oracle服务端

    一.安装Oracle12c 按正常安装方法安装即可! ORACLE_BASE=/u01/app ORACLE_HOME=/u01/app/oracle ORACLE_SID=a4orcl 二.安装Or ...

  4. Apache 一台主机绑定多个域名及虚拟主机

    今天研究了下Apache下如何使用一台主机绑定多个域名且使用80端口.说白了就是在一台主机上运行多个网站,并且网站域名都是使用的80端口. 具体方法如下: 1.进入Apache conf目录,找到ht ...

  5. Python_架构、同一台电脑上两个py文件通信、两台电脑如何通信、几十台电脑如何通信、更多电脑之间的通信、库、端口号

    1.架构 C/S架构(鼻祖) C:client  客户端 S:server  服务器 早期使用的一种架构,目前的各种app使用的就是这种架构,它的表现形式就是拥有专门的app. B/S架构(隶属于C/ ...

  6. (转)清除已运行过Rancher和K8S的主机上的环境数据

    文章转自 https://blog.csdn.net/CSDN_duomaomao/article/details/77684571?locationNum=5&fps=1 本文命令主要是参考 ...

  7. mysql远程访问另一台主机数据库表,实现小表广播功能

    1.打开navicat,打开任意一个连接,新建一个查询,输入命令 show engines,出现如下界面 2. 如果FEDERATED对应的Support值为NO,则找到C:\ProgramData\ ...

  8. CentOS7Linux中自动化运维工具Ansible的安装,以及通过模块批量管理多台主机

    使用自动化运维工具Ansible集中化管理服务器 Ansible概述 Ansible是一款为类Unix系统开发的自由开源的配置和自动化工具.它用Python写成,类似于saltstack和Puppet ...

  9. [转帖]Docker Hub上镜像发现挖矿蠕虫病毒,已导致2000台主机感染

    Docker Hub上镜像发现挖矿蠕虫病毒,已导致2000台主机感染 https://www.kubernetes.org.cn/5951.html 本来想说可以用 official版本的镜像 但是一 ...

随机推荐

  1. 学习grunt四解决yo webapp生成的是gulpfile而不是gruntfile问题

    虽然gulp慢慢取代了gruntfile,但是还有大部分的github源码保留gruntfile,另外我们开发项目也不是全用gulp,也是用grunt. 但是yeoman上generator-weba ...

  2. Selenium定位元素-Xpath的使用方法

    工具 Xpath的练习建议下载火狐浏览器,下载插件Firebug.Firepath. 由于最新版火狐不支持Firebug等扩展工具了,所以需要下载49版以下的版本安装https://ftp.mozil ...

  3. Python 列表 extend() 方法

    描述 Python 列表 extend() 方法通过在列表末尾追加可迭代对象中的元素来扩展列表. 语法 extend() 方法语法: L.extend(iterable) 参数 iterable -- ...

  4. [ps] 灰度和通道基础知识

    灰度.灰度值.灰度图像 灰度:灰度使用黑色调来表示物体,即用黑色为基准色,不同饱和度的黑色来显示图像.每个灰度对象都具有从0%(白色)到100%(黑色)的亮度值.使用黑白或灰度扫描仪生成的图像通常以灰 ...

  5. 《Kalchbrenner N, Grefenstette E, Blunsom P. A convolutional neural network for modelling sentences》

    Kalchbrenner’s Paper Kal的这篇文章引用次数较高,他提出了一种名为DCNN(Dynamic Convolutional Neural Network)的网络模型,在上一篇(Kim ...

  6. JSON语法2

    把 JSON 文本转换为 JavaScript 对象 JSON 最常见的用法之一,是从 web 服务器上读取 JSON 数据(作为文件或作为 HttpRequest),将 JSON 数据转换为 Jav ...

  7. linux常用命令:tar 命令

    通过SSH访问服务器,难免会要用到压缩,解压缩,打包,解包等,这时候tar命令就是是必不可少的一个功能强大的工具.linux中最流行的tar是麻雀虽小,五脏俱全,功能强大. tar 命令可以为linu ...

  8. mybatis插入语句空值没有设置jdbcType报错

    Exception in thread "main" org.springframework.jdbc.UncategorizedSQLException: Error setti ...

  9. mysql中join后on、where的区别

    SELECT * FROM A; SELECT * FROM B; 以上是两张表的机构 SELECT * FROM A LEFT JOIN B ON A.id=b.a_id ; ; ; 两个语句查询出 ...

  10. MockWebServer--环境

    MockWebServer是一个可脚本化的用于测试HTTP客户端的Web服务器.主要用于测试你的应用在进行HTTP.HTTPS请求时是否按照预期的行为动作.使用该工具,你可以验证应用的请求是否符合预期 ...