多个git账户ssh密钥配置
假设两git网站:A.com和B.com,在这两个网站上使用的邮箱和用户名分别为a@mail, userA和b@mail, userB。
清除全局配置
git config --global --list
git config --global --unset user.name
git config --global --unset user.email生成rsa密钥
ssh-keygen -t rsa -C "a@mail"
ssh-keygen -t rsa -C "b@mail"
值得注意的是,上述每条命令按下 ENTER 键后,会有如下提示:
Generating public/private rsa key pair.Enter file in which to save the key (/Users/xx/.ssh/id_rsa):
在这里输入公钥的名字,默认情况是叫 id_rsa,为了不同git网站用户配置相区分,在这里分别输入 id_rsa_a,id_rsa_b起不同的名字。输入完毕后,一路回车,钥对就生成完毕了。向git网站添加ssh keys
将私钥添加到本地
迁移.ssh公私钥到另一台电脑上时记得执行该部分命令,否则采用ssh方式克隆github项目时报错:“sign_and_send_pubkey: signing failed for RSA from agent: agent refused operation from agent: agent refused operation for RSA ”
打开git客户端,执行如下命令
eval `ssh-agent -s`
ssh-add C:/Users/xx/.ssh/id_rsa_a
ssh-add C:/Users/xx/.ssh/id_rsa_b
ssh-add -l
通过ssh-add命令,公钥对应的东西从一个邮箱字符串变为私钥文件(可能默认对应的私钥文件为id_rsa,由此公私钥不匹配,报出错误)
- 管理密钥
在本地创建密钥配置文件,根据仓库的remote链接地址自动选择合适的私钥
创建并编辑~/.ssh/config
Host A.com
HostName A.com
User userA
IdentityFile ~/.ssh/id_rsa_a
Host B.com
HostName B.com
User userB
IdentityFile ~/.ssh/id_rsa_b
- 测试
执行git clone git@A.com:userA/xx即可下载A.com网站上xx仓库 - 一个注意点
该文讨论的情形清除掉全局的git配置,所以对git仓库来说需要设置local的git配置才能正常地实现提交。
git config --local user.name "userA"
git config --local user.email "a@mail"
上述内容编写自Git 多用户配置
本文创建于2021年3月6日16点56分,修改于2021年 05月 05日 星期三 11:53:47 CST
多个git账户ssh密钥配置的更多相关文章
- git ssh密钥配置添加
1. 初次安装git配置用户名和邮箱 $ git config --global user.name "xxx" $ git config --global user.email ...
- Git 使用SSH密钥操作
git使用ssh密钥 git支持https和git两种传输协议,github分享链接时会有两种协议可选: git协议链接图例 : ↓ https协议链接图例:↓ git使用https协议,每次pull ...
- Git设置ssh密钥
前提条件是,公司的gitlab,运维没有关闭ssh的权限获取,或者叫运维开通那个ssh权限,生成的公钥要给运维那边一个!这样设置是可以成功 一.创建ssh key 1.在客户端查看有没有密钥 cd ~ ...
- git使用ssh密钥和https两种认证方式汇总(转)
在版本库的SSH方式和HTTPS方式是不同的,具体来说就是url信息的不同,但是,实际的认证机制也是不同的.当建立了本机密钥之后,使用ssh方式实际上是不需要再次认证的,而https则每次需要输入密码 ...
- git 使用ssh密钥
一.查看仓库支持的传输协议 1.1查看仓库支持的传输协议 使用命令 git remote -v 查看你当前的 remote url root@zengyue:/home/yuanGit# git re ...
- git使用ssh密钥(转)
git使用https协议,每次pull, push都要输入密码,相当的烦.使用git协议,然后使用ssh密钥.这样可以省去每次都输密码. 大概需要三个步骤:一.本地生成密钥对:二.设置github上的 ...
- Git生成SSH密钥
git config --global user.name "yangjianliang"配置用户名 git config --global user.email "52 ...
- git使用ssh密钥
1.查看本地是否有密钥对,如果存在就删除cd ~/.sshid_dsa id_dsa.pub 2.重新生成密钥对ssh-keygen -t rsa -C "your_email@yourem ...
- Git生成ssh密钥指定文件
ssh-keygen 使用的时候可以直接使用 -f 参数 指定密钥保存文件,省去后面生成成功后再提示选择保存文件: ssh-keygen -t rsa -C "abc@example.com ...
- 报错 Please make sure you have the correct access rights and the repository exists (git 添加ssh密钥 )
1.设置Git的user name和email $ git config --global user.name "wubaiwan" $ git config --global u ...
随机推荐
- uniapp使用百度地图
要使用第三方百度地图,首先要去百度地图官方申请一个密钥,之后引入百度地图的API文件,参考使用文档即可开发使用.而在uniapp中是没法直接引入百度地图API文件的,我们要结合uniapp中的web- ...
- winform Message应用
今天遇到了一个问题,winform 中使用自定义控件时,希望在点击自定义控件时设置控件为选中状态.而且这个自定义控件在一个窗体中被创建多个. 但在自定义控件中添加子控件后,导致鼠标点击事件只能响应在子 ...
- react toolkit 异步请求之后调取其他函数
在slice切片文件中,页面dispatch执行action之后,异步请求完成后调取另外一个异步请求,要在异步请求的 第二个参数添加 thunkAPI,调取thunkAPI的dispatch方法即 ...
- Java基础——Scanner扫描字符数组出现问题
问题:今天写的一个简易学生信息类出现了如下问题Exception in thread "main" java.util.InputMismatchException: For in ...
- vmware15 nat模式下虚拟机能够ping通宿主机,宿主机无法平通虚拟机,nat网卡地址为192.168.0.1,网关为192.168.0.2.
如图所示 最后网上教程看到,最后是修改nat网卡的巨型帧好的,废话不多数上图. 具体知道什么原因,开启这个就好了.
- shell 脚本实现二进制安装 LAMP 架构的 wordpress
#!/bin/bash##***********************************************************************#Author: ...
- hdu 1516 String Distance and Transform Process
Problem DescriptionString Distance is a non-negative integer that measures the distance between two ...
- Ubuntu之docker搭建dvwa
前提,已经安装好docker. 首先,搜索DVWA镜像,
- gin框架笔记
1.实现http://127.0.0.1:8080/index.html的形式访问前端页面.gin-contrib/static 使用中间件的方式判断是否存在该静态文件.fileserver 是一个 ...
- Vue 事件监听
事件监听 v-on 使用v-on进行事件绑定监听,回调函数写在methods中.可以使用@的这种简写形式来代替v-on,当事件源无参数传递时,可省略括号. 语法如下所示: <button @:事 ...