前言:
自己作死下載了多個(gè)破解軟件,不知道那個(gè)可能程序有問題,導(dǎo)致了電腦重啟后無(wú)法開機(jī),苦逼的只能重裝系統(tǒng),所以之前的所有配置都需要重新弄。所以破解軟件請(qǐng)謹(jǐn)慎安裝。
Git安裝
直接下載安裝 Xcode,高版本Xcode已經(jīng)默認(rèn)集成了Git 。
生成SSH key
SSH key提供了一種與GitHub通信的方式,通過這種方式,能夠在不輸入密碼的情況下,將GitHub作為自己的remote端服務(wù)器,可以實(shí)現(xiàn)本地 Git 倉(cāng)庫(kù)和 GitHub 倉(cāng)庫(kù)之間的數(shù)據(jù)傳輸,方便進(jìn)行版本控制。
大多數(shù) Git 服務(wù)器都會(huì)選擇使用 SSH 公鑰來(lái)進(jìn)行授權(quán)。系統(tǒng)中的每個(gè)用戶都必須提供一個(gè)公鑰用于授權(quán),沒有的話就要生成一個(gè)。
步驟:
- 首先先確認(rèn)一下是否已經(jīng)有一個(gè)公鑰了。SSH 公鑰默認(rèn)儲(chǔ)存在賬戶的主目錄下的 ~/.ssh 目錄。進(jìn)去看看:
$ cd ~/.ssh $ ls id_dsa known_hosts id_dsa.pub config
- 關(guān)鍵是看有沒有用 something 和 something.pub 來(lái)命名的一對(duì)文件,這個(gè) something 通常就是 id_dsa 或 id_rsa。有 .pub 后綴的文件就是公鑰,另一個(gè)文件則是密鑰。如果已經(jīng)有了,可直接跳到打開id_rsa.pub,然后copy到GitHub。如果沒有,打開終端(Shell) ,創(chuàng)建 SSH Key:
$ ssh-keygen -t rsa -C "youremail@example.com"或
$ ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/Users/schacon/.ssh/id_rsa): Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /Users/schacon/.ssh/id_rsa. Your public key has been saved in /Users/schacon/.ssh/id_rsa.pub. The key fingerprint is: 43:c5:5b:5f:b1:f1:50:43:ad:20:a6:92:6a:1f:9a:3a schacon@agadorlaptop.local
??注意它先要求你確認(rèn)保存公鑰的位置(.ssh/id_rsa),然后它會(huì)讓你重復(fù)一個(gè)密碼兩次,如果不想在使用公鑰的時(shí)候輸入密碼,可以留空或直接一路回車確定下就安裝好了。查看是否成功:$ cd ~/.ssh $ ls id_rsa id_rsa.pub
- 打開 id_rsa.pub文件,里面就有需要的ssh key。
在終端輸入命令打開id_rsa.pub,然后copy。vim ~/.ssh/id_rsa.pub或
$ cat ~/.ssh/id_rsa.pub拷貝公鑰
另注:所有做過這一步的用戶都得把它們的公鑰給你或者 Git 服務(wù)器的管理員(假設(shè) SSH 服務(wù)被設(shè)定為使用公鑰機(jī)制)。他們只需要復(fù)制 .pub 文件的內(nèi)容然后發(fā)郵件給管理員。
將SSH Key添加到GitHub中
登陸 GitHub,打開“SSH and GPG Keys”頁(yè)面:
將SSH Key添加到GitHub中
最后測(cè)試github是否連接成功
$ssh -T git@github.com
如果顯示:
Are you sure you want to continue connecting (yes/no)? ##輸入yes##
接下來(lái)如果正常的話,會(huì)出現(xiàn)如下提示:
Hi ZyjEugene! You've successfully authenticated, but GitHub does not
provide shell access.
如果出現(xiàn)如下提示,則說明有權(quán)限問題:
Permission denied (publickey)....
如果有權(quán)限問題的情況下,你對(duì)項(xiàng)目執(zhí)行push操作的時(shí)候,會(huì)得到如下提示:
Warning: Permanently added the RSA host key for IP address '192.30.252.129' to the list of known hosts.
Permission denied (publickey).
fatal: Could not read from remote repository.
>Please make sure you have the correct access rights
and the repository exists.
權(quán)限問題:
原因:生成了多套git ssh密鑰,并且都Github和客戶端連接。通常一臺(tái)電腦生成一個(gè)ssh不會(huì)有這個(gè)問題,當(dāng)一臺(tái)電腦生成多個(gè)ssh的時(shí)候,就可能遇到這個(gè)問題。
解決步驟如下:
1、查看系統(tǒng)ssh-key代理, 執(zhí)行如下命令
$ ssh-add -l
以上命令如果輸出 The agent has no identities. 則表示沒有代理。如果系統(tǒng)有代理,可以執(zhí)行下面的命令清除代理:
$ ssh-add -D
2、然后將你新創(chuàng)建的ssh添加代理,執(zhí)行命令如下:
$ ssh-add ~/.ssh/id_rsa
注:id_rsa你的公私鑰名稱
3、你會(huì)得到如下提示:
2048 8e:71:ad:88:78:80:b2:d9:e1:2d:1d:e4:be:6b:db:8e /Users/Eugene/.ssh/id_rsa (RSA)
4、測(cè)試 ssh
ssh -T git@github.com
你若得到如下提示,表示這個(gè)ssh公鑰已經(jīng)獲得了權(quán)限
Hi ZyjEugene! You've successfully authenticated, but github does not provide shell access.
問題到此解決。
結(jié)束
鳴謝:
Pro Git 簡(jiǎn)體中文版
廖雪峰Git教程
鏈接與資源:
猴子都能懂的Git教程
Git - 簡(jiǎn)明指南
最后歡迎留言指正,謝謝??!

