git 指定自己的sshkey
在服务器上生成ssh-key以后,需要把公钥放在github上,但是,这个公钥只能放在一个账户里,如果放在第二个账户里,就会提示这个key已经被用了,这是前提
一个可能的场景是这样的:
你们公司有好几个项目都托管在git上,然后有一台公用的服务器,这时候,你的同事在服务器上搞了一套ssh-key,添加到他的项目里用于ssh验证拉代码了,这时候你也用到这台服务器,然后把公钥往自己的项目里加的时候,发现加不进去了,这时候最暴力的解决方法就是,你重新生成一套加在自己的仓库里,但是这么搞的化,你同事之前添加的那个肯定是不能用了,然后他发现自己的不能用了,上了服务器一看key被改了,他又重新生成一下,然后你又不能用了,如此反复,相爱相杀。
明智的解决方法是这样的,让git去服务器拉代码的时候使用不同的ssh-key就可以了,具体做法如下:
1.生成你自己的ssh-key
ssh-keygen -t rsa -P '' -f ./id_rsa_myself
这个命令会在当前目录生成 id_rsa_myself 和id_rsa_myself.pub 的一对,特别注意的是一定要指定生成文件的存放路径,要么去默认的地方了(~/.ssh/),那就把你同事的给覆盖了
2.这时候就可以添加公钥了,把 id_rsa_myself.pub里的东西添加到github上,这些基本操作就不说具体步骤了
3.把 id_rsa_myself 这个私钥存起来,放哪里都无所谓,也可以直接放在 ~/.ssh/ 目录里,我习惯放在自己家目录下,比如 /home/xiaol/ssh/id_rsa_myself
4.在~/.ssh/目录常见一个config文件,内容如下
cd ~/.ssh/
vi config Host myself
HostName bitbucket.org
User git
PreferredAuthentications publickey
IdentityFile /home/xiaol/ssh/id_rsa_myself
5. 这个config和刚才存起来的id_rsa_myself需要权限为600(~/.ssh/系统生成的就是600,改就好了,不改报权限问题)
chmod ~/.ssh/config
chmod /home/xiaol/ssh/id_rsa_myself
配置过程就完成了
下面说下使用
配置之前你clone代码:
git clone git@bitbucket.org:xxx/xxx.git
配置之后你clone代码:
git clone git@myself:xxx/xxx.git
至于为什么,你对着新建的那个config文件琢磨琢磨就知道了
这种解决方法不影响你同事,config中没配的时候会用 ~/.ssh/下的文件验证
git 指定自己的sshkey的更多相关文章
- bitbucket/github同一站点上多个git代码仓库的ssh-key配置
由于项目开发需要,可能多个项目都放在bitbucket或者github上面,每个项目都有独立的sshkey,这就会造成push时的系统默认取~/.ssh/id_rsa的问题. 最简单的解决方法是这样: ...
- git 配置多个SSH-Key(转)
摘要 我们在日常工作中会遇到公司有个gitlab,还有些自己的一些项目放在github上.这样就导致我们要配置不同的ssh-key对应不同的环境. 目录[-] 1,生成一个公司用的SSH-Key 2, ...
- git 指定要提交的ssh key
问题描述 ssh具有-i选项,用于告知在验证时使用哪个私钥文件: -i identity_file Selects a file from which the identity (private ke ...
- git:多个sshkey配置
克隆项目: 使用git clone +项目.git地址 例如: 创建SSH Key: ssh-keygen -t rsa -C +邮箱地址 sshkey自定义保存:创建后在第二步(enter file ...
- Git安装及配置SSH-Key
下载Git 打开 https://git-scm.com/downloads 选择windows, 下载并安装. 配置全局用户名及邮箱 配置用户名 git config --global user.n ...
- git 指定用户名密码更新代码
使用git 更新代码 如何修改git 的密码一直令人费解,百度一堆也没给出答案.下面给一种替代方案. 例如:我们正常的代码地址 http://172.16.210.112/project/test.g ...
- Ubuntu git 安装、生成sshkey、克隆、切换分支
#1.安装git apt-get install git; #2生成公钥私钥文件 2.配置git账户: git config --global user.name "yourname&quo ...
- centos上为新创建的用户(git)指定根目录并生成公钥和私钥
1.修改用户的根目录 vim /etc/passed 2.su git 3.ssh-keygen -t rsa ssh-keygen -t rsa 4.如图所示,如果要实现无密码访问git仓库,把公钥 ...
- git 指定从其他分支拉取commit
git cherry-pick commit-id (github 上的短号)
随机推荐
- CALL apoc.cypher.doIt创建动态节点的时候怎么指定多个标签?
下面的创建节点实例,请教一下CALL apoc.cypher.doIt如何创建多个标签?现在的方式是只能指定一个标签! UNWIND [{name:"sdasdsad234fdgsasdfa ...
- js制作秒表
<!DOCTYPE html><html> <head> <meta charset="UTF-8"> <title>& ...
- windows下一步到位搭建pycharm的开发环境
pycharm的开发环境主要涉及到以下三个方面 pycharm的激活 这里采用破解的方式来达到永久激活的目的,因为激活码用着用着就过期的你,会发现不厌其烦的 通过测试,这个破解包适用于2017-201 ...
- Intel Coleto Creek SSL chipset
Intel Coleto Creek SSL chipset name type interface speed model SR-IOV driver Intel SSL chipset Colet ...
- Zookeeper VS Chubby
目录 区别的根源 1)一致性 2)Client Cache vs No Cache 总结 参考资料 区别的根源 一个设计良好的系统应该是围绕并为其设计目标服务的. Chubby:p ...
- js之运算符(逻辑运算符)
逻辑运算符通常用于布尔型(逻辑)值.这种情况下,它们返回一个布尔值.它经常和关系运算符一起配合使用.“&&” .“!”和“ ||” 运算符会返回一个指定操作数的值,因此,这些运算符也用 ...
- OpenSSL源码简介
1.X.509标准 x509是由国际电信联盟(ITU-T)制定的数字证书标准:包含公钥和用户标志符.CA等: x509是数字证书的规范,P7和P12是两种封装形式:X.509是常见通用的证书格式.所有 ...
- numpy中与金融有关的函数
fv函数 计算未来的价值 def fv(rate, nper, pmt, pv, when='end'): ... 参数: rate:存款/贷款每期的利率 nper:存款/贷款期数 pmt:存款/贷款 ...
- deep_learning_Function_numpy.linspace()
numpy.linspace()等差数列函数 在numpy中的linspace()函数类似与arange().range()函数: arange() .range() 可以通过指定开始值.终值和步长创 ...
- 牛客练习赛26 E-树上路径 (树链剖分+线段树)
链接:https://ac.nowcoder.com/acm/contest/180/E 来源:牛客网 树上路径 时间限制:C/C++ 2秒,其他语言4秒 空间限制:C/C++ 262144K,其他语 ...