iis服务器助手广告广告
返回顶部
首页 > 资讯 > 精选 >git多账号登录问题的示例分析
  • 163
分享到

git多账号登录问题的示例分析

2023-06-09 17:06:04 163人浏览 薄情痞子
摘要

这篇文章给大家分享的是有关git多账号登录问题的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。同一服务器,同一托管平台,多个账号问题1、添加key我们暂且以oschina为例。为了更好的说明问题,我们在o

这篇文章给大家分享的是有关git多账号登录问题的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

同一服务器,同一托管平台,多个账号问题

1、添加key

我们暂且以oschina为例。为了更好的说明问题,我们在oschina平台分别用账号111新建项目test111和账号222新建项目test222,记得项目私有化哦,不然我们也没啥说的了。

在我们想要把项目test111 clone下来之前,需要先按照下面的步骤设置关联的key

ssh-keygen -t rsa -C "111@163.com" // 邮箱是账号111对应的邮箱

整个过程就回车完事,操作起来那是相当的简单!但是还没完,可能你注意到了,回车的过程中,有一句话是这样提示的:

Your public key has been saved in /root/.ssh/id_rsa.pub.

没错,我们现在打开这个文件

cat /root/.ssh/id_rsa.pub

拷贝文件里面的内容, 然后打开 Http://git.oschina.net/keys 这个页面,新建key,把复制的内容粘贴进来就好了。

这样一来,我们就把服务器上面的key跟oschina平台进行了关联。

2、clone项目

接着我们通过git clone命令把test111项目clone下来,记得clone的地址是ssh而不是https哦,这个时候会提示我们输入用户名和密码,其分别是oschina的账号和密码。

如果你手贱是以https的方式进行clone的,可以通过下面的命令重新设置远程仓库地址(没有则可跳过此步骤)

// 移除之前的远程仓库地址git remote remove origin// 新增远程仓库地址为ssh,非httpsgit remote add origin git@git.oschina.net:wwolf/test111.git

多账号兼容问题

到这里,对于test111项目pull push操作基本上都是没有问题的了。如果说用户222想在这台服务器上面对项目test222进行管理,我们直接执行git clone git@git.oschina.net:222/test222.git之后,报错了,提示如下:

Access denied.fatal: Could not read from remote repository.Please make sure you have the correct access rightsand the repository exists.

为什么呢?首先最重要的问题肯定是key的问题了!因为我们之前并未层在这台服务器增加key关联到用户222的oschina账号!那我们就按照步骤1重新在服务器上为用户222添加一个key吧,不过需要注意的是,我们的key保存的文件要重命名了,不然可就把用户111创建的key覆盖了!

ssh-keygen -t rsa -C "账号222的邮箱@qq.com"//接下来会提示我们想要把key保存在哪个文件,重新输入文件名即可Enter file in which to save the key (/root/.ssh/id_rsa): /root/.ssh/id_rsa_2//接着回车回车回车完事,重要的话说三遍!

然后我们登录账号222的oschina账号添加key

但是问题出现了,这个时候我们重新clone test222依旧提示我们没权限,怎么回事???本篇文章的中心主题曝光了!废话了一堆,开始说重点--------------------------

其实这个时候我们clone test222项目时,git是拿默认的id_rsa.pub文件里面的key去对比的,这肯定是有问题的嘛,因为222账号并没有添加这个key!那也就是说我们这里如果clone test222的时候让git拿着id_rsa_2.pub文件里面的key去验证不就完事了么?是的,就是这样!我们看实现步骤:

首先我们让git识别我们新增的key

ssh-agent bashssh-add ~/.ssh/id_rsa_2

接着我们在~/.ssh/ 目录下新建或者修改config文件

#Host 是你远程仓库的地址,注意哦,如果有些服务器做的ip端口转发,这里不要带上端口号Host git.oschina.net#HostName 是远程仓库的地址,同样如果做的端口转发也不应带端口号HostName git.oschina.net#Port 端口号,如果有做转发需要在这里填写端口号,没有就不必要填#Port 8800#用户User 111#识别key的文件IdentityFile ~/.ssh/id_rsa#都指向同一个平台的话,下面的Host需要做个处理,因为我们在用这个key的时候根据Host从上到下进行查找,不做修改肯定会先查找到第一个key,依旧无效,随便改就好了,其他参数不做特殊处理Host git222.oschina.netHostName git.oschina.net#Port 8800User 222IdentityFile ~/.ssh/id_rsa_2

可以看到,我们对222用户的Host做了处理,那么我们就需要修改下222的远程仓库地址了

// 原仓库地址git@git.oschina.net:222/test222.git// 修改为git@git222.oschina.net:222/test222.git

也就是说这个时候用户222只需要执行命令

git clone git@git222.oschina.net:222/test222.git

就可以了!就可以了!!!

cd test222/
//发现git pull git push也都没有任何问题

同一服务器,不同托管平台,多个账号问题

这多个平台的问题基本上就简单了,为了举例说明,我们用gitlab平台的333账号的项目test333进行测试,注意哦,我们是注册第三个账号在上面两个账号的基础之上进行的测试

git clone git@gitlab.com:333/test333.git
// 可想而知,同样是没权

因为没那么多邮箱,我们注册gitlab依旧使用的是用户222的邮箱,不过这对我们的操作没任何影响,无非就是多创建一个id_rsa_3文件而已,鉴于此,我们直接拷贝id_rsa_2.pub里面的key到gitlab平台。

然后在~/.ssh/config文件内添加gitlab平台的配置即可

Host gitlab.comHostName gitlab.com#Port 8800User 333//因为gitlab的邮箱跟用户222一致,这里用这个key,如果不一致,你仍然需要生成新的key,这里引用新的key文件IdentityFile ~/.ssh/id_rsa_2

PS:Git多个账户冲突问题解决

由于自己有两个GitHub账号,最近在push项目时,突然发现一直提示的permission denied. 细看原来是用的另外一个github的账号,不是当前origin所在的github对应的账号。于是查找了一stackoverflow上面的解决方http://stackoverflow.com/questions/14689788/multiple-github-accounts-what-values-for-host-in-ssh-config。

清除git的全局设置

git config --global user.name "your_name"git config --global user.email "your_email"

然后重新设置每个项目的非全局的用户名和邮箱:

git config user.name "your_name" git config user.email "your_email"

SSH配置

在~/.ssh目录下面,使用ssh-keygen -C “your_email” -t rsa 生成公私秘钥,当有多个github账号的时候,可以生成多组rsa的公司密钥。然后配置~/.ssh/config文件(如果没有的话请重新创建一个):

#第一个github项目账号 Host first_project HostName github.com User first_user IdentityFile ~/.ssh/id_rsa_first #第二个git项目账号 Host second_projectHostName github.com User second_user IdentityFile ~/.ssh/id_rsa_second

从first项目拉取代码:

git pull first master

感谢各位的阅读!关于“git多账号登录问题的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: git多账号登录问题的示例分析

本文链接: https://www.lsjlt.com/news/256966.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • git多账号登录问题的示例分析
    这篇文章给大家分享的是有关git多账号登录问题的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。同一服务器,同一托管平台,多个账号问题1、添加key我们暂且以oschina为例。为了更好的说明问题,我们在o...
    99+
    2023-06-09
  • Web-解决同一账号多处登录的问题
      如果用户通过同一账号在不同浏览器甚至不同ip登录会对账号安全,数据逻辑处理产生巨大隐患,这里介绍几种常见的解决办法: 1.MySql数据库设置登录状态 实现:          在account表中添加字段'isLogin'      ...
    99+
    2023-09-04
    php javascript mysql redis
  • JavaScript语句后面分号问题的示例分析
    这篇文章主要为大家展示了“JavaScript语句后面分号问题的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“JavaScript语句后面分号问题的示例...
    99+
    2024-04-02
  • mysqldump问题的示例分析
    mysqldump问题的示例分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。导出:mysqldump数据库[表]>/t...
    99+
    2024-04-02
  • Java多线程同步问题的示例分析
    这篇文章主要介绍Java多线程同步问题的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!简单了解下在操作系统中进程和线程的区别:  进程:每个进程都有独立的代码和数据空间(进程上下文),进程间的切换会有较大的开...
    99+
    2023-05-30
    java
  • CentOS用户账号管理的示例分析
    这篇文章将为大家详细讲解有关CentOS用户账号管理的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。1、用户管理/etc/passwd 用户名配置文件/etc/shadow 用户密码配置文件(1)...
    99+
    2023-06-10
  • vue中登录注册的示例分析
    这篇文章主要介绍了vue中登录注册的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。步骤一1.安装脚手架:npm install vu...
    99+
    2024-04-02
  • HTML5实现QQ登录的示例分析
    这篇文章主要介绍了HTML5实现QQ登录的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。<!DOCTYPE html...
    99+
    2024-04-02
  • WMS问题处理的示例分析
    这篇文章主要介绍了WMS问题处理的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。采购订单没有生成上传订单号pkg_inpurchas...
    99+
    2024-04-02
  • Redis缓存问题的示例分析
    这篇文章给大家分享的是有关Redis缓存问题的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。一、Redis缓存的应用在我们的实际业务场景中,Redis 一般和其他数据库搭...
    99+
    2024-04-02
  • Node.js面试问题的示例分析
    这篇文章主要介绍了Node.js面试问题的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。什么是error-first的回调方式Err...
    99+
    2024-04-02
  • Java中文问题的示例分析
    这篇文章将为大家详细讲解有关Java中文问题的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。我来说一下tomcat如何实现JSP的你就明白了。预备知识: 1.字节和unicode  Java内核是...
    99+
    2023-06-03
  • sqlplus 登录时快时慢的问题分析
    sqlplus 登录时快时慢的问题分析,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。客户反映前端系统反映很慢,自己通过sqlplus登录发现时...
    99+
    2024-04-02
  • nginx添加账号密码验证的示例分析
    这篇文章主要介绍了nginx添加账号密码验证的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。nginx添加账号密码验证server&...
    99+
    2024-04-02
  • Java多线程中线程安全问题的示例分析
    这篇文章主要介绍了Java多线程中线程安全问题的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1. 什么是线程安全和线程不安全?什么是线程安全呢?当多个线程并发访问某...
    99+
    2023-06-29
  • Python中复数问题的示例分析
    这篇文章主要介绍Python中复数问题的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!问题关于 Python 的复数类型,以下选项中描述错误的是A复数的虚数部分通过后缀“J”或者“j”来表示B对于复数 z,可...
    99+
    2023-06-15
  • mybatis-plus使用问题的示例分析
    这篇文章主要为大家展示了“mybatis-plus使用问题的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mybatis-plus使用问题的示例分析”这篇文章吧。一、多表联合分页查询多表...
    99+
    2023-06-29
  • 微信扫码登录原理的示例分析
    小编给大家分享一下微信扫码登录原理的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!微信扫码登录原理解析扫码登录是现在流行...
    99+
    2024-04-02
  • SAP BP显示供应商账户组时的问题实例分析
    这篇文章主要介绍“SAP BP显示供应商账户组时的问题实例分析”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“SAP BP显示供应商账户组时的问题实例分析”文章能帮助大家解决问题。BP事务代码显示某个...
    99+
    2023-06-05
  • springboot整合swagger问题的示例分析
    小编给大家分享一下springboot整合swagger问题的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一.前言解决了一个困扰很久的问题。自己搭建的一...
    99+
    2023-06-14
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作