Git SSH Key 生成及多个Git SSH Key 生成管理

单个.ssh文件rsa  rsa.pub生成:


一 、

设置Git的user name和email:

$ git config --global user.name "zanyang"

$ git config --global user.email "zanyang@gmail.com"


二、生成SSH密钥过程:

1.查看是否已经有了ssh密钥:cd ~/.ssh

如果没有密钥则不会有此文件夹,有则备份删除

2.生存密钥:

$ ssh-keygen -t rsa -C “******.com”

按3个回车,密码为空。

Your identification has been saved in /home/tekkub/.ssh/id_rsa.

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

The key fingerprint is:

………………

最后得到了两个文件:id_rsa和id_rsa.pub


3.添加密钥到ssh:ssh-add 文件名

$ ssh-add ~/.ssh/id_rsa

需要之前输入密码。

4.在github上添加ssh密钥,这要添加的是“id_rsa.pub”里面的公钥。

打开https://github.com/,登陆,然后添加ssh。

5.测试:ssh git@github.com

The authenticity of host ‘github.com (207.97.227.239)’ can’t be established.

RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.

Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added ‘github.com,207.97.227.239′ (RSA) to the list of known hosts.

ERROR: Hi tekkub! You’ve successfully authenticated, but GitHub does not provide shell access

Connection to github.com closed.

三、 开始使用github

1.获取源码:

$ git clone git@github.com:billyanyteen/github-services.git

2.这样你的机器上就有一个repo了。

3.git于svn所不同的是git是分布式的,没有服务器概念。所有的人的机器上都有一个repo,每次提交都是给自己机器的repo

仓库初始化:

git init

生成快照并存入项目索引:

git add

文件,还有git rm,git mv等等…

项目索引提交:

git commit

4.协作编程:

将本地repo于远程的origin的repo合并,

推送本地更新到远程:

git push origin master

更新远程更新到本地:

git pull origin master

补充:

添加远端repo:

$ git remote add upstream  你的git地址


多个ssh key管理:


当有多个git账号的时候,比如一个github,用于自己进行一些开发活动,再来一个gitlab,一般是公司内部的git。这两者你的邮箱如果不同的话,就会涉及到一个问题,生成第二个git的key的时候会覆盖第一个的key,导致必然有一个用不了。

我们可以在~/.ssh目录下新建一个config文件配置一下,就可以解决问题

具体步骤

生成第一个ssh key(这里我用于github,用的gmail邮箱)

ssh-keygen -t rsa -C"yourmail@gmail.com"

这里不要一路回传,让你选择在哪里选择存放key的时候写个名字,比如id_rsa_github,之后的两个可以回车。

完成之后我们可以看到~/.ssh目录下多了两个文件


生成第二个ssh key(这里我用于gitlab,用的是公司邮箱)

ssh-keygen -t rsa -C"yourmail@gmail.com"

还是一样不要一路回车,在第一个对话的时候继续写个名字,比如id_rsa_gitlab,之后的两个可以回车。

完成之后我们可以看到如2中图所标记,一样出现两个文件。(一个公钥一个私钥)

打开ssh-agent

这里如果你用的github官方的bash,ssh-agent -s,如果是其他的,比如msysgit,eval $(ssh-agent -s)

添加私钥

ssh-add ~/.ssh/id_rsa_github 

ssh-add ~/.ssh/id_rsa_gitlab

创建并修改config文件

在windows下新建一个txt文本,然后将名字后缀一起改成config即可

在bash下的话直接touch config即可。

添加一下内容

# gitlab

Host git.iboxpay.com

       HostName git.iboxpay.com//这里填你们公司的git网址即可

       PreferredAuthentications publickey 

       IdentityFile ~/.ssh/id_rsa_gitlab 

       User zanyang

# github

        Host github.comHostName github.com

        PreferredAuthentications publickey

        IdentityFile ~/.ssh/id_rsa_github

        User L

在github和gitlab上添加公钥即可,这里不再多说。


测试:

$ ssh -T git@github.com

PS:如果到这里你没有成功的话,别急,教你解决问题的终极办法--debug

比如测试github,ssh -vT git@github.com

-v 是输出编译信息,然后根据编译信息自己去解决问题吧。就我自己来说一般是config里的host那块写错了

补充一下

如果之前有设置全局用户名和邮箱的话,需要unset一下

git config --global--unsetuser.name

git config --global--unsetuser.email

然后在不同的仓库下设置局部的用户名和邮箱

比如在公司的repository下

git config user.name "yourname"  

git config user.email "youremail"

在自己的github的仓库在执行刚刚的命令一遍即可。

这样就可以在不同的仓库,已不同的账号登录。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 157,198评论 4 359
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,663评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 106,985评论 0 237
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,673评论 0 202
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 51,994评论 3 285
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,399评论 1 211
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,717评论 2 310
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,407评论 0 194
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,112评论 1 239
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,371评论 2 241
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,891评论 1 256
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,255评论 2 250
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,881评论 3 233
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,010评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,764评论 0 192
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,412评论 2 269
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,299评论 2 260

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,087评论 18 139
  • 背景 公司最近将代码由svn迁移到了gitlab来托管,我个人平时也经常使用Github,可是公司邮箱与我的Git...
    洛城夜雨阅读 1,862评论 0 5
  • 问题提出 最近在自己的MAC上面提交Github代码的时候发现居然失败了: 这不是坑爹吗,Github都提交过无数...
    keysaim阅读 14,390评论 0 6
  • 在使用git的时候,一般我们使用的远程Git服务器是github,这时只需简单的生成ssh-key密钥对并将公钥添...
    gofanelena阅读 5,539评论 0 5
  • (原创)《咏千山》 《一字天》 两壁斑驳立比肩 浮云过隙转瞬间 浩瀚烟波无所欲 登高何需天地宽 《天外天》 天外天...
    驻足看风景阅读 524评论 0 0