如何多賬號(hào)連接到github级乍,本機(jī)連接不再輸入密碼

首先你要明白github連接過程是怎樣的大诸。


私有密鑰和公有密鑰是成對(duì)的兩個(gè)文件,私有文件保存在自己的本機(jī)辙芍,公有密鑰保存到另一端的服務(wù)器契吉,網(wǎng)站等菲语。
github就是一種網(wǎng)站佩憾。只有保存了私有密鑰的機(jī)器才能訪問遠(yuǎn)程的服務(wù)器等池凄。使用該鍵的好處是不用使用密碼,而是以密鑰的方式驗(yàn)證用戶。


https 和 SSH 的區(qū)別:

  • 前者可以隨意克隆github上的項(xiàng)目,而不管是誰(shuí)的蕉饼;而后者則是你必須是你要克隆的項(xiàng)目的擁有者或管理員创肥,且需要先添加 SSH key ,否則無(wú)法克隆撒强。

  • https url 在push的時(shí)候是需要驗(yàn)證用戶名和密碼的芽隆;而 SSH 在push的時(shí)候,是不需要輸入用戶名的蕉毯,如果配置SSH key的時(shí)候設(shè)置了密碼棉磨,則需要輸入密碼的衙傀,否則直接是不需要輸入密碼的。


要想使本機(jī)能訪問github。有四個(gè)步驟:

  1. 創(chuàng)建私有密鑰和公有密鑰
  2. 將公有密鑰放到github里。
  3. 測(cè)試是否設(shè)置成功见秽。
  4. 修改本地git配置文件蔓肯,發(fā)布。

1. 創(chuàng)建私有密鑰和公有密鑰

1.1 首先判斷本機(jī)是否創(chuàng)建了公有密鑰:

$ ls ~/.ssh

這個(gè)命令用于檢查是否已經(jīng)存在 id_rsa.pub 或 id_dsa.pub 文件裆装,如果文件已經(jīng)存在桅滋,下面步驟可省略定庵,直接進(jìn)入步驟2俱病。

如果沒有類似 id_rsa和id_rsa.pub這樣的文件促王,則表明沒有創(chuàng)建。生成的辦法:

//配置git用戶名和郵箱:
$ git config user.name "用戶名"
$ git config user.email "郵箱" 
$ ssh-keygen -t rsa -C "郵箱" 
//多個(gè)密鑰的情況下缓熟,可生成ssh key同時(shí)指定保存的文件名
$ ssh-keygen -t rsa -f ~/.ssh/ellacf -C "郵箱" 

代碼參數(shù)含義:

  • -t 指定密鑰類型况毅,默認(rèn)是 rsa 尔许,可以省略毡们。
  • -C 設(shè)置注釋文字登颓,比如郵箱。
  • -f 指定密鑰文件存儲(chǔ)文件名放椰。

執(zhí)行后,會(huì)填寫保存兩種密鑰的文件夾,和passphrase,全部可以按enter刨晴。然后執(zhí)行l(wèi)s來(lái)查看生成后的文件屉来。

  • id_rsa和id_rsa.pub分別是私有密鑰和公有密鑰。
  • 我們指定的文件名就是id_rsa.github狈癞,這時(shí)~/.ssh目錄下會(huì)多出id_rsa.github和id_rsa.github.pub兩個(gè)文件茄靠,id_rsa.github里保存的就是我們要使用的key。

1.2 多個(gè)密鑰情況下蝶桶,可以:

  • 新增并配置config文件慨绳。如果config文件不存在,先添加真竖;存在則直接修改
$ touch ~/.ssh/config
  • 在config文件里添加如下內(nèi)容(User表示你的用戶名)
Host *.github.com
    IdentityFile ~/.ssh/id_rsa.github
    User 用戶名

2. 將公鑰添加到github上

2.1 首先你需要拷貝 id_rsa.pub 文件的內(nèi)容脐雪,你可以用編輯器打開文件復(fù)制,也可以用git命令復(fù)制該文件的內(nèi)容恢共,如:

$ pbcopy < ~/.ssh/ellacf.pub

添加到Github的ssh kesy設(shè)定里战秋。
1. 復(fù)制key到剪貼板
2. 登錄github
3. 點(diǎn)擊右上方的Accounting settings圖標(biāo)
4. 選擇 SSH key
5. 點(diǎn)擊 Add SSH key


3. 測(cè)試github是否連接成功

3.1 接下來(lái)進(jìn)行測(cè)試:

$ssh -T git@github.com

如果顯示:

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

然后就可以看到

Hi yourusername! You've successfully authenticated, but GitHub does not
provide shell access.

這樣就可以通過ssh方式clone Github上的工程并且進(jìn)行pull和push了讨韭。

3.2 總結(jié):

如果在步驟3的ssh命令后或者輸入yes后出現(xiàn)github Permission denied錯(cuò)誤脂信。執(zhí)行以下命令:

//start the ssh-agent in the background
$eval "$(ssh-agent -s)"
$ssh-add ~/.ssh/id_rsa

再執(zhí)行

$ssh -T git@github.com

4. 修改本地git配置文件,發(fā)布

4.1 修改本地配置文件透硝,.git文件夾下的config文件

修改前

[remote "origin"]
    url = https://github.com/Ellacf/helloworld
    fetch = +refs/heads/*:refs/remotes/origin/*

修改后

[remote "origin"]
    url = git@github.com:Ellacf/helloworld.git
    fetch = +refs/heads/*:refs/remotes/origin/*

發(fā)布

修改README.MD
$ git add .   //更新README文件
$ git commit -m 'first commit'//提交更新吉嚣,并注釋信息“first commit” 
$ git remote add origin git@github.com:Ellacf/helloworld.git   //連接遠(yuǎn)程github項(xiàng)目  
$ git push -u origin master   //將本地項(xiàng)目更新到github項(xiàng)目上去

5. 關(guān)于可能出現(xiàn)的錯(cuò)誤

5.1 在執(zhí)行 $ git remote add origin git@github.com:Ellacf/helloworld.git

錯(cuò)誤提示:fatal: remote origin already exists.

解決辦法:
$ git remote rm origin   //刪除遠(yuǎn)程路徑

然后在執(zhí)行:
$ git remote add origin git@github.com:Ellacf/helloworld.git  //添加正確路徑
就不會(huì)報(bào)錯(cuò)誤了

5.2 在執(zhí)行 $ git push origin master


錯(cuò)誤提示:error:failed to push som refs to.......

解決辦法:

$ git pull origin master // 先把遠(yuǎn)程服務(wù)器github上面的文件拉下來(lái),再push 上去蹬铺。

5.3 執(zhí)行 git remote -v,即可看到遠(yuǎn)處資源庫(kù)路徑秉撇,如下所示:

origin  git@github.com:Ellacf/helloworld.git (fetch)
origin  git@github.com:Ellacf/helloworld.git (push)

5.4 隱私設(shè)置

當(dāng)公司全局設(shè)置git時(shí)甜攀,發(fā)布后會(huì)顯示公司配置的相應(yīng)用戶名和郵箱秋泄。此時(shí)需要針對(duì)每個(gè)項(xiàng)目,單獨(dú)設(shè)置用戶名和郵箱规阀,設(shè)置方法如下:

git clone https://github.com/Ellacf/helloworld.git // git檢出目錄  
cd ~/helloworld  
git init  
git config user.name "用戶名"  
git config user.email "郵箱"
git remote rm origin
git remote add origin git@github.com:Ellacf/helloworld.git

6.修改配置文件~/.ssh/config文件

6.1 在命令行輸入如下:

touch ~/.ssh/config
vim ~/.ssh/config

6.2 按住鍵盤i恒序,進(jìn)入文件編輯模式,寫入如下:

Host github.com
       Hostname github.com
       User Ellacf
       Identityfile ~/.ssh/ellacf

6.3 輸入:wq谁撼,保存文件并退出即可歧胁。


參考我的配置在第一個(gè)留言。
以上更新于:2017-07-30

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末厉碟,一起剝皮案震驚了整個(gè)濱河市喊巍,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌箍鼓,老刑警劉巖崭参,帶你破解...
    沈念sama閱讀 216,402評(píng)論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異款咖,居然都是意外死亡何暮,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,377評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門铐殃,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)海洼,“玉大人,你說我怎么就攤上這事富腊』捣辏” “怎么了?”我有些...
    開封第一講書人閱讀 162,483評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵蟹肘,是天一觀的道長(zhǎng)词疼。 經(jīng)常有香客問我,道長(zhǎng)帘腹,這世上最難降的妖魔是什么贰盗? 我笑而不...
    開封第一講書人閱讀 58,165評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮阳欲,結(jié)果婚禮上舵盈,老公的妹妹穿的比我還像新娘。我一直安慰自己球化,他們只是感情好秽晚,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,176評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著筒愚,像睡著了一般赴蝇。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上巢掺,一...
    開封第一講書人閱讀 51,146評(píng)論 1 297
  • 那天句伶,我揣著相機(jī)與錄音劲蜻,去河邊找鬼。 笑死考余,一個(gè)胖子當(dāng)著我的面吹牛先嬉,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播楚堤,決...
    沈念sama閱讀 40,032評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼疫蔓,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了身冬?” 一聲冷哼從身側(cè)響起衅胀,我...
    開封第一講書人閱讀 38,896評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎吏恭,沒想到半個(gè)月后拗小,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,311評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡樱哼,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,536評(píng)論 2 332
  • 正文 我和宋清朗相戀三年哀九,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片搅幅。...
    茶點(diǎn)故事閱讀 39,696評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡阅束,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出茄唐,到底是詐尸還是另有隱情息裸,我是刑警寧澤,帶...
    沈念sama閱讀 35,413評(píng)論 5 343
  • 正文 年R本政府宣布沪编,位于F島的核電站呼盆,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏蚁廓。R本人自食惡果不足惜访圃,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,008評(píng)論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望相嵌。 院中可真熱鬧腿时,春花似錦、人聲如沸饭宾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)看铆。三九已至徽鼎,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背纬傲。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工满败, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人叹括。 一個(gè)月前我還...
    沈念sama閱讀 47,698評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像宵荒,于是被迫代替她去往敵國(guó)和親汁雷。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,592評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理报咳,服務(wù)發(fā)現(xiàn)侠讯,斷路器,智...
    卡卡羅2017閱讀 134,651評(píng)論 18 139
  • 第一章 安裝Git工具 下載GitHub for Windows,直接點(diǎn)擊安裝暑刃,安裝完成后厢漩,可以看到“Git Sh...
    不圓的石頭閱讀 11,866評(píng)論 5 63
  • 聲明:這篇文章來(lái)源于廖雪峰老師的官方網(wǎng)站,我僅僅是作為學(xué)習(xí)之用 Git簡(jiǎn)介 Git是什么岩臣? Git是目前世界上最先...
    橫渡閱讀 3,953評(píng)論 3 27
  • 1. 安裝 Github 查看是否安裝git: $ git config --global user.name "...
    Albert_Sun閱讀 13,656評(píng)論 9 163
  • 嘉寶:媽媽溜嗜,你知道上海市排名第一的小學(xué)是什么小學(xué)嗎? 媽媽:好像是世外小學(xué)吧架谎。 嘉寶:什么炸宵?這樣的學(xué)校也能排第一?...
    周芷妍閱讀 416評(píng)論 0 2