最近在公司内网服务器上搭建了gitlab,已能正常运行,如下图:

现在有这样一个需求,之前我们使用的是外网gitlab管理代码,但是现在公司要求在内网搭建gitlab。而我外网已经有了一个账号,现在想在内网gitlab上面创建相同的账号,方便管理。但这会对我们使用ssh方式提交代码有影响。

思路

ssh 方式链接到 外网GitLab/内网GitLab,需要唯一的公钥,如果想在一台电脑绑定同一个帐号到不同网段的gitlab,需要两个条件:

  1. 能够生成两对私钥/公钥
  2. push 时,可以区分两个公钥,推送到相应的仓库

解决方案:

  1. 生成 私钥/公钥 时,密钥文件命名避免重复
  2. 设置不同 Host 对应不同 HostName ,对应的密钥也不同

1.全局配置

git config --global user.name "yangfeng"git config --global user.email "104111413@qq.com"

2.原先已经使用命令生成了一对密钥(外网),现在生成另一对(内网):

ssh-keygen -t rsa -C "104111413@qq.com"  -f /c/Users/Administrator/.ssh/id_rsa_work

如下图所示:

将id_rsa_work中的内容拷贝到内网gitlab ssh-key位置:

进入目录C:\Users\Administrator 选中.ssh目录右键gitbash执行:

eval $(ssh-agent -s)
ssh-add ~/.ssh/id_rsa_work

使用命令 ssh-add  -l 查看添加的结果。ssh-add命令是把专用密钥添加到ssh-agent的高速缓存中。

vim  ~/.ssh/config,输入下面的内容:

Host gitlab.comRSAAuthentication yesIdentityFile ~/.ssh/id_rsa
Host 192.168.2.183HostName 192.168.2.183PORT 822RSAAuthentication yesIdentityFile  ~/.ssh/id_rsa_work
  1. #Host myhost(这里是自定义的host简称,以后连接远程服务器就可以用命令ssh myhost)[注意下面有缩进]

  2. #HostName 主机名可用ip也可以是域名(如:github.com或者bitbucket.org),这里的192.168.2.183就是公司内网gitlab地址

  3. #Port 服务器open-ssh端口(默认:22,默认时一般不写此行)。但我是docker安装的gitlab,映射到主机的端口是822,不是22,所以这里以你自己gitlab安装后的端口为准。

  4. #IdentityFile 证书文件路径(如~/.ssh/id_rsa_*)。

测试:

如何使用同一个gitlab账号提交到外网、内网gitlab相关推荐

  1. 外网访问内网 内网穿透 花生壳

    1.下载花生壳,登录注册 下载地址:https://hsk.oray.com/download/ 注册账号:https://hsk.oray.com/ 2.购买http服务,创建映射 1>花生壳 ...

  2. Linux时间同步(内外网/内网/外网)

    2019独角兽企业重金招聘Python工程师标准>>> 内外网集群的时间同步① server端:可以访问外网的机器 client端:在内网里的机器 一.server端安装ntp校时包 ...

  3. 外网访问内网(内网穿透)

    什么是内网穿透 内网穿透,即NAT穿透,网络连接时术语,计算机是局域网内时,外网与内网的计算机节点需要连接通信,有时就会出现不支持内网穿透.就是说映射端口,能让外网的电脑找到处于内网的电脑,提高下载速 ...

  4. 外网内网同时使用--设置如下

    注意: 这里的172.16.x.x 和192.168.1.X 和你的局域网环境有关,可以命令行下ipconfig /all 查看 局域网有线连接(网段172.16.X.X,不提供接入internet服 ...

  5. vm下linux添加双网卡,外或内网不通可参考

    实验目的:永久修改百分百解决linux双内外网卡不通问题 vm下linux服务器添加双网卡,一个网卡通外网一个网卡通内网 第一步vm界面上配置 vm界面选择需要添加的服务器右键-设置-网络适配器-添加 ...

  6. Ubuntu双网卡共享上网 外网 内网

    资源: 网卡两块:eth0,eth1;一个带有web登录服务器方式的静态ip,ubuntu9.04. 目标: 实现eth0外网,eth1内网. 参考: ============参考1========= ...

  7. 内网穿透实现方法 外网访问内网 内网对外提供服务

    本文讲什么 如何实现内网机器对外提供服务,即外网如何访问内网,也即内网穿透 =================================== 不太严谨,但意思到胃了啊 因为本文不涉及到 ipv6 ...

  8. 外网/内网端口映射-实现外网远程访问PC/服务器

    之前CHAO哥还在的时候,总是让他配置外网端口,现在CHAO哥离开了,自己曾经两次尝试配置外网端口都失败了,之后也没有再深究.但是最近发现远程桌面的外网端口被小伙伴不小心删掉了,不在实验室就连不上PC ...

  9. 安装了GitLab的虚拟机整体拷贝到内网步骤

    1简介 程序员日常工作,尤其是编程工作,没有版本控制工具的话,就没有安全感.Git作为有效的分布式版本控制工具,非常优秀.那么如何在内网搭建有效的Git服务器呢?在国内,自然是使用GitLab服务器为 ...

最新文章

  1. parcel react_如何使用Parcel捆绑React.js应用程序
  2. SAP MM 物料主数据MRP2 视图’Minimum Lot Size’字段
  3. My blog please navigate to http://hi.baidu.com/248828412
  4. 怎样用计算机进入手机驱动程序,手机驱动怎么安装?
  5. 你准备好了在云中工作吗?
  6. 多线程笔记补充之线程通信wait和notify方法以及Lock和Condition接口的使用
  7. 双表联查mysql_MySQL的双表多表联查
  8. Sql Server发布订阅如何添加新表如何不初始化整个快照
  9. 企业微信3.0版本发布:客户朋友圈功能正式上线
  10. 业内最大规模多标签图像数据集开源 | GitHub资源
  11. angularjs html编码,怎样使用AngularJS实现base64编码与解码
  12. CV学习笔记-数字图像概述
  13. 5028: 小Z的加油店(线段树)
  14. android opencl sdk,在新的Android Studio中使用OpenCL
  15. 学习java软件开发大概要多久?
  16. Linux下pgadmin4启动报错,如何在UBUNTU 16.04上安装桌面模式中的PGADMIN 4
  17. python项目简历内容包括哪些_python简历内容
  18. 从host端对Windows虚机进行内存dump和分析
  19. 锤子android悬浮菜单,锤子手机Smartisan T1悬浮菜单怎么添加
  20. 他向导师下跪,仍被强制退学!5年博士白读,双方各执一词,同门师兄也有回应……...

热门文章

  1. 如何将你的Linux服务器清空?
  2. Jasper问题总结与解决方法~
  3. 自然语言处理中注意力机制综述
  4. android 陀螺仪简单使用,判读手机是否静止状态
  5. 计算机 无法 访问共享网络打印机,“无法连接到网络共享打印机”的常见原因和解决方法:...
  6. Linux第七章服务器硬件及RAID配置实战
  7. 基于freemarker(mht)方式导出带图片的富文本word
  8. 5.1.3 主消费者执行分配任务
  9. Python核心编程16 ----- 文件的打开(读取),修改,关闭,二进制
  10. Cisco ASA 5585 with firepower upgrade 升级 配置证书