git第十二講基于ssh密鑰的方式連接github和github的網(wǎng)頁類型倉庫設(shè)置

基于ssh密鑰的方式連接github

當(dāng)使用普通的模式連接github的時候,需要在連接的時候輸入github的用戶名和密碼攒驰,在github中提供了另外一種連接方式疯淫,就是基于ssh認證的方式里覆,使用了這種方式之后陪腌,以后連接github都不用再輸入任何的用戶和密碼信息,連接時會自動通過ssh的密鑰進行驗證莫绣。設(shè)置ssh密鑰的流程有:

1畴蒲、在我的文檔的目錄中創(chuàng)建一個.ssh的文件夾
2、在本地生成ssh的私有和公有密鑰
3兔综、在github網(wǎng)站上添加本地生成的密鑰
4饿凛、測試連接

在我的文檔目錄創(chuàng)建一個.ssh的文件夾

找到我的文檔的目錄,在windows系統(tǒng)中一般在C:\Users\xx中软驰,但是需要注意的是在win系統(tǒng)中無法直接在我的電腦里面創(chuàng)建.開頭的目錄涧窒,需要在命令提示符中創(chuàng)建這個目錄。

C:\Users\konghao>mkdir .ssh -->創(chuàng)建.ssh目錄

C:\Users\konghao>dir .ssh
 驅(qū)動器 C 中的卷是 系統(tǒng)
 卷的序列號是 0000-3D66

 C:\Users\konghao 的目錄
2017/03/24 周五  08:31    <DIR>          .ssh -->查詢這個目錄

創(chuàng)建密鑰

1锭亏、打開git bash纠吴,如果在git的時候選擇了將git的命令添加到命令提示符中之后,即可在命令提示中使用慧瘤。

2戴已、輸入ssh密鑰的生成命令,輸入命令ssh-keygen -t rsa -b 4096 -C "ynkonghao@gmail.com"可以生成一個ssh的密鑰锅减。

輸入完成之后會提示Enter file in which to save the key (/c/Users/konghao/.ssh/id_rsa):這意味著讓你輸入一個密鑰的地址糖儡,這個地址在win中是不能更改的,/c/Users/konghao/.ssh表示的是第一步所創(chuàng)建的.ssh的目錄怔匣,id_rsa表示的是密鑰的文件名握联。這些都是不能更改的,如果希望一臺電腦中有多個密鑰,需要增加新的配置金闽,這個部分大家通過網(wǎng)絡(luò)即可獲取操作方式纯露。

C:\Users\konghao>ssh-keygen -t rsa -b 4096 -C "ynkonghao@gmail.com"
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/konghao/.ssh/id_rsa): /c/Users/konghao/.ssh/id_rsa

輸入完成密鑰的地址之后,會有提示讓輸入Enter passphrase (empty for no passphrase):,這個表示口令代芜,當(dāng)設(shè)置了這個口令之后埠褪,以后每次通過ssh登錄github都需要輸入這個口令,這樣就算本地的私有密鑰文件丟失挤庇,其他人不知道你的口令也無法使用ssh登錄也不會如果輸入以后在連接ssh時還需要輸入這個口令钞速,這樣可以增加它的安全性,但帶來的問題就是每次都得輸入登錄口令嫡秕,操作相對麻煩一些玉工,但ssh提供了ssh-agent可以處理這個問題。

此時如果你不輸入passphrase直接回車即可淘菩,這樣就完成了ssh密鑰的創(chuàng)建,如果輸入了passphrase屠升,以后我們每次連接ssh都需要輸入口令潮改。


#輸入添加ssh密鑰的命令
C:\Users\konghao\.ssh>ssh-keygen -t rsa -b 4096 -C "ynkonghao@gmail.com"
Generating public/private rsa key pair.
#輸入密鑰文件的生成地址,如果不輸入就直接生成在/c/Users/konghao/.ssh/中腹暖,其中/c表示win的c盤
Enter file in which to save the key (/c/Users/konghao/.ssh/id_rsa):汇在、
#輸入口令,此處個人是輸入了口令的脏答,為了演示ssh-agent的操作
Enter passphrase (empty For no passphrase):
Enter same passphrase again:
#完成ssh密鑰的創(chuàng)建
Your identification has been saved in /c/Users/konghao/.ssh/id_rsa.
Your public key has been saved in /c/Users/konghao/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:Nn0cDnMZ1w5WVv+dh4tkuBTapbnWHbaJhC9lGbtHauc ynkonghao@gmail.com
The keys randomart image is:
+---[RSA 4096]----+
|            . .o=|
|             +o.o|
|          + *. o.|
|         + & = .=|
|        S O % =.+|
|       . o % O =.|
|          = O B  |
|         . o +   |
|              E  |
+----[SHA256]-----+

C:\Users\konghao\.ssh>dir
 驅(qū)動器 C 中的卷是 系統(tǒng)
 卷的序列號是 0000-3D66

 C:\Users\konghao\.ssh 的目錄

2017/03/24 周五  09:58    <DIR>          .
2017/03/24 周五  09:58    <DIR>          ..
2017/03/24 周五  09:58             3,326 id_rsa  #私有密鑰文件
2017/03/24 周五  09:58               745 id_rsa.pub #公有密鑰
               2 個文件          4,071 字節(jié)
               2 個目錄 187,734,855,680 可用字節(jié)

創(chuàng)建完成之后我們發(fā)現(xiàn)在.ssh文件中多了兩個文件糕殉,這兩個文件就是ssh的登錄密鑰,其中id_rsa表示本地的私有密鑰殖告,而id_rsa.pub表示公有密鑰阿蝶,需要把公有密鑰id_rsa.pub添加到github中。由于我在創(chuàng)建密鑰時輸入了口令黄绩,所以連接ssh都需要輸入口令羡洁,為了可以完成連接,我們需要在github中添加公有密鑰id_rsa.pub

在github上添加公有密鑰

進入github的網(wǎng)站爽丹,點擊自己的頭像筑煮,選擇settings

github的ssh認證
github的ssh認證

進入個人設(shè)置之后選擇SSH AND GPG Keys

github的ssh認證
github的ssh認證

選擇new SSH Key

github的ssh認證
github的ssh認證

打開剛才在.ssh文件夾中生成的id_rsa.pub文件,該文件就是ssh的公共密鑰

github的ssh認證
github的ssh認證

在github網(wǎng)站的中添加剛才的密鑰信息粤蝎,首先添加一個標(biāo)題真仲,之后將id_rsa.pub的內(nèi)容拷貝到key的輸入框中。

github的ssh認證
github的ssh認證

添加完成之后初澎,在命令提示符中輸入ssh -T git@github.com可以測試是否連接成功秸应,由于在創(chuàng)建密鑰時我輸入了口令,所以驗證的時候會讓我輸入口令。

C:\Users\konghao>ssh -T git@github.com
Warning: Permanently added the RSA host key for IP address '192.30.255.113' to the list of known hosts.
Enter passphrase for key '/c/Users/konghao/.ssh/id_rsa':
Hi ynkonghao! You've successfully authenticated, but GitHub does not provide shell access.

到此為止ssh的配置已經(jīng)基本完成灸眼,但是由于在創(chuàng)建時我輸入了口令卧檐,這就導(dǎo)致每次連接github都得輸入,稍顯麻煩焰宣,此時我們使用ssh-agent解決這個問題霉囚。這個操作需要在gitbash中進行操作。

在gitbash中首先輸入eval $(ssh-agent)開啟agent模式匕积,之后輸入ssh-add /c/Users/konghao/.ssh/id_rsa即可將我的密鑰添加至ssh-agent盈罐,添加完成之后,我們再次進行驗證就不用輸入口令了闪唆。但該操作都是在ssh-agent中使用的盅粪,只要關(guān)閉窗口下次依然需要輸入口令進行驗證,這樣就算在命令提示符中也不起作用悄蕾。所以如果非特殊的環(huán)境票顾,不一定非要設(shè)置ssh的驗證的口令。

$ eval $(ssh-agent)
Agent pid 6748 ##進入代理模式

konghao@SD-201702261156 MINGW64 ~
$ ssh-add /c/Users/konghao/.ssh/id_rsa
Enter passphrase for /c/Users/konghao/.ssh/id_rsa:
Identity added: /c/Users/konghao/.ssh/id_rsa (/c/Users/konghao/.ssh/id_rsa)

konghao@SD-201702261156 MINGW64 ~
$ ssh -T git@github.com ##此時就不需要輸入驗證口令帆调,但重新啟動窗口還需要重新設(shè)置agent
Hi ynkonghao! You've successfully authenticated, but GitHub does not provide shell access.

需要注意的是奠骄,當(dāng)設(shè)置了ssh之后,我們以后訪問github就不能再使用https://github.com/ynkonghao/xxxx.git來訪問番刊,而需要使用git@github.com:ykonghao/xxx來訪問含鳞。

github設(shè)置網(wǎng)頁類型倉庫

在實際的開發(fā)中我們可能會有這樣的一種特殊需求,就是把自己的圖片上傳到github中芹务,之后在項目中引用這些圖片蝉绷,此時如果直接使用github上的圖片地址(如:https://github.com/ynkonghao/test/01.png)來訪問并不會直接打開這些圖片的,而是會打開github的地址枣抱,此時需要在地址后增加?raw=true的參數(shù)才能直接打開圖片(https://github.com/ynkonghao/test/01.png?raw=true)熔吗。

github為每個用戶提供了一個網(wǎng)頁類型的倉庫,只要設(shè)置了這個倉庫沃但,我們就可以更加快捷的來訪問github上自己的資源磁滚,注意每個用戶只能設(shè)置一個網(wǎng)頁倉庫。

首先基于用戶名創(chuàng)建一個倉庫宵晚,假設(shè)我的用戶名是kh121,那我們就需要創(chuàng)建一個kh121.github.io的倉庫垂攘,之后進入倉庫的settings

github創(chuàng)建個人網(wǎng)頁倉庫
github創(chuàng)建個人網(wǎng)頁倉庫

找到github pages的選項,在這個選項中選擇一個主題即可淤刃,當(dāng)然主題也可以自己定義和設(shè)置

github創(chuàng)建個人網(wǎng)頁倉庫
github創(chuàng)建個人網(wǎng)頁倉庫

選擇一個主題之后晒他,github的page就算設(shè)置完成了

github創(chuàng)建個人網(wǎng)頁倉庫
github創(chuàng)建個人網(wǎng)頁倉庫

此時通過https://kh121.github.io即可訪問我們定義的倉庫主頁,我們以后就可以在該倉庫中添加自己所需要的內(nèi)容逸贾,此時我們clone一下工廠陨仅,然后推送一張圖片上去津滞,然后直接通過類似的地址https://kh121.github.io/img/01.jpg即可訪問圖片。


##克隆工廠到本地
E:\study\git_2016\11>git clone https://github.com/kh121/kh121.github.io
Cloning into 'kh121.github.io'...
remote: Counting objects: 4, done.
remote: Compressing objects: 100% (3/3), done.
remote: Total 4 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (4/4), done.

E:\study\git_2016\11>cd kh121.github.io

##創(chuàng)建一個img的文件夾存儲文件
E:\study\git_2016\11\kh121.github.io>mkdir img

E:\study\git_2016\11\kh121.github.io>git add .

E:\study\git_2016\11\kh121.github.io>git commit -m "test img"
[master 3e123bc] test img
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 img/01.jpg ##文件名是01.jpg
##將文件推送到服務(wù)端
E:\study\git_2016\11\kh121.github.io>git push origin master
Counting objects: 4, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (3/3), done.
Writing objects: 100% (4/4), 825.44 KiB | 0 bytes/s, done.
Total 4 (delta 0), reused 0 (delta 0)
To https://github.com/kh121/kh121.github.io
   4e233c5..3e123bc  master -> master

當(dāng)創(chuàng)建完頁面并選擇主題之后可以通過修改index.md這個文件來修改自己的網(wǎng)頁灼伤,為了方便期間触徐,個人在這個文件中加入了一個倉庫的超鏈接。

[My GitHub Repository](https://github.com/kh121/kh121.github.io)

此時再次打開https://kh121.gihub.io會發(fā)現(xiàn)多了這樣一個連接

github創(chuàng)建個人網(wǎng)頁倉庫
github創(chuàng)建個人網(wǎng)頁倉庫

你同樣也可以根據(jù)markdown的語言來調(diào)整自己的個人網(wǎng)頁狐赡。

最后我們同樣也可以將一個github的新工廠加入到這個網(wǎng)頁工廠中進行顯示撞鹉,操作也非常簡單,就是創(chuàng)建工廠和選擇主題即可颖侄。此處我創(chuàng)建了一個page的工廠

github創(chuàng)建個人網(wǎng)頁倉庫
github創(chuàng)建個人網(wǎng)頁倉庫

之后選擇一個主題鸟雏,之后通過https://kh121.github.io/page即可訪問

github創(chuàng)建個人網(wǎng)頁倉庫
github創(chuàng)建個人網(wǎng)頁倉庫

簡單總結(jié)

這一部分的內(nèi)容就到此為止了,基于ssh的驗證基本上是每個github的使用者必須使用的一個手段览祖,另外基于github的網(wǎng)頁工廠可以根據(jù)自己的需求來進行考量孝鹊。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市展蒂,隨后出現(xiàn)的幾起案子又活,更是在濱河造成了極大的恐慌,老刑警劉巖锰悼,帶你破解...
    沈念sama閱讀 216,470評論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件皇钞,死亡現(xiàn)場離奇詭異,居然都是意外死亡松捉,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,393評論 3 392
  • 文/潘曉璐 我一進店門馆里,熙熙樓的掌柜王于貴愁眉苦臉地迎上來隘世,“玉大人,你說我怎么就攤上這事鸠踪”撸” “怎么了?”我有些...
    開封第一講書人閱讀 162,577評論 0 353
  • 文/不壞的土叔 我叫張陵营密,是天一觀的道長械媒。 經(jīng)常有香客問我,道長评汰,這世上最難降的妖魔是什么纷捞? 我笑而不...
    開封第一講書人閱讀 58,176評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮被去,結(jié)果婚禮上主儡,老公的妹妹穿的比我還像新娘。我一直安慰自己惨缆,他們只是感情好糜值,可當(dāng)我...
    茶點故事閱讀 67,189評論 6 388
  • 文/花漫 我一把揭開白布丰捷。 她就那樣靜靜地躺著,像睡著了一般寂汇。 火紅的嫁衣襯著肌膚如雪病往。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,155評論 1 299
  • 那天骄瓣,我揣著相機與錄音停巷,去河邊找鬼。 笑死累贤,一個胖子當(dāng)著我的面吹牛叠穆,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播臼膏,決...
    沈念sama閱讀 40,041評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼硼被,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了渗磅?” 一聲冷哼從身側(cè)響起嚷硫,我...
    開封第一講書人閱讀 38,903評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎始鱼,沒想到半個月后仔掸,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,319評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡医清,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,539評論 2 332
  • 正文 我和宋清朗相戀三年起暮,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片会烙。...
    茶點故事閱讀 39,703評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡负懦,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出柏腻,到底是詐尸還是另有隱情纸厉,我是刑警寧澤,帶...
    沈念sama閱讀 35,417評論 5 343
  • 正文 年R本政府宣布五嫂,位于F島的核電站颗品,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏沃缘。R本人自食惡果不足惜躯枢,卻給世界環(huán)境...
    茶點故事閱讀 41,013評論 3 325
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望槐臀。 院中可真熱鬧闺金,春花似錦、人聲如沸峰档。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,664評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至掀亩,卻和暖如春舔哪,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背槽棍。 一陣腳步聲響...
    開封第一講書人閱讀 32,818評論 1 269
  • 我被黑心中介騙來泰國打工捉蚤, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人炼七。 一個月前我還...
    沈念sama閱讀 47,711評論 2 368
  • 正文 我出身青樓缆巧,卻偏偏與公主長得像,于是被迫代替她去往敵國和親豌拙。 傳聞我的和親對象是個殘疾皇子陕悬,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,601評論 2 353

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)按傅,斷路器捉超,智...
    卡卡羅2017閱讀 134,651評論 18 139
  • 1. 安裝 Github 查看是否安裝git: $ git config --global user.name "...
    Albert_Sun閱讀 13,656評論 9 163
  • 鯉魚破肚掛樹上,廚房叮當(dāng)酒飄香唯绍。外甥嘻鬧輪滑爽拼岳,庭前練字曬暖陽。 2016.02.09 猴年春節(jié)假期 正月初二 姐...
    youreda閱讀 175評論 0 0
  • 字數(shù):1479 閱讀需要4分鐘 寫作時間:1小時 1 2017年7月5日,是一個平凡的日子绝骚。距離糾結(jié)難受的星期一已...
    小火咕嘟閱讀 958評論 0 4
  • 春節(jié)臨近堪簿,在收拾屋子的同時,聽著百家講壇漢代風(fēng)云人物之項羽皮壁,使時間變得有意義,果然收獲了一個全新的項羽哪审!最重要的一...
    云霏1988閱讀 553評論 0 0