GitHub教程 SSH keys配置

SSH 為 Secure Shell 的縮寫,由 IETF 的網(wǎng)絡(luò)小組(Network Working Group)所制定;SSH 為建立在應(yīng)用層基礎(chǔ)上的安全協(xié)議。

在管理Git項目上,有兩種克隆到本地的方法。
直接使用https url克隆到本地
使用SSH url克隆到本地
這兩種方式的主要區(qū)別在于:

1.使用https url對初學(xué)者來說會比較方便,復(fù)制https url然后到git Bash里面直接用clone命令克隆到本地就好了,但是每次fetch和push代碼都需要輸入賬號和密碼,這也是https方式的麻煩之處。
2.使用SSH url需要在只用之前先配置和添加好SSH key。每次fetch和push代碼都不需要輸入賬號和密碼,如果你想要每次都輸入賬號密碼才能進行fetch和push也可以另外進行設(shè)置。

1.檢查你電腦上是否有SSH Key
~/.ssh 或者用~/.ssh ls

上邊這行命令的作用是看一哈你的電腦上有沒有.ssh文件夾。

如果電腦上有,就會顯示bash: /c/Users/…/.ssh: Is a directory
如果電腦上沒有,那就顯示bash: /c/Users/…/.ssh: No such file or directory

在這里插入圖片描述
在這里插入圖片描述

2.創(chuàng)建SSH Key
如果你電腦上有了,你就可以直接跳過這一步

在Git Bash中輸入
$ ssh-keygen -t rsa -C "你的郵箱"


在這里插入圖片描述

然后就會顯示這兩行:
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/16627/.ssh/id_rsa):

這是讓你輸入一個文件名,用于保存剛才生成的 SSH key 代碼。為了避免麻煩,不用輸入,直接回車,那么就會默認生成id_rsa和id_rsa.pub兩個秘鑰文件。
這時候已經(jīng)創(chuàng)建好.ssh這個文件夾了,會提示:
Created directory ‘/c/Users/16627/.ssh’.
緊接著又會問你:
Enter passphrase (empty for no passphrase):
就是讓你輸入密碼,如果你設(shè)置了密碼,那在你使用ssh傳輸文件的時候,你就要輸入這個密碼。為了避免麻煩,建議不用設(shè)置,直接回車。
Enter same passphrase again:
這就是讓你再輸入一次密碼,就跟我們注冊賬號時候設(shè)置密碼需要設(shè)置兩次一樣。上一步?jīng)]設(shè)置密碼,這里直接回車就可以了。到這里你的秘鑰就設(shè)置好了,你會收到這段代碼提示:
Your identification has been saved in /c/Users/…/.ssh/id_rsa
Your public key has been saved in /c/Users/…/.ssh/id_rsa.pub
還會向你展示你的秘鑰長啥樣


在這里插入圖片描述

當(dāng)你看到上面這段代碼,那就說明你的 SSH key 已經(jīng)創(chuàng)建成功,你可以再使用~/.ssh看一下,現(xiàn)在文件是真的存在了。


在這里插入圖片描述

3.添加SSH Key到GitHub
首先打開Github網(wǎng)頁

image.png
image.png

(黃色框框是我已經(jīng)建立的SSH key。)
點擊右上角新建一個SSH Key。

image.png

title隨便給他起個名字就好。然后是key,這時候你要打開你剛才在電腦上的SSH key。
還記得這一步嗎:

在這里插入圖片描述

按照紅框框里的路徑,找到.ssh文件夾。用記事本打開id_rsa.pub文件,全選其中的內(nèi)容粘貼到網(wǎng)頁的Key中。

image.png

然后你就會受到建立成功的郵件了。

image.png

4.測試一下該SSH key
在git Bash 中輸入以下代碼
$ ssh -T git@github.com
注意是git@github.com,不是你的郵箱。

然后會提示你:
The authenticity of host ‘github.com (13.229.188.59)’ can’t be established.
RSA key fingerprint is SHA256:nThbg6kXUp…
Are you sure you want to continue connecting (yes/no/[fingerprint])?
輸入yes,回車

image.png

接下來就會提示你輸入密碼,如果上邊設(shè)置ssh的時候,你沒設(shè)置密碼會提示你:
Warning: Permanently added ‘github.com,192.30.255.112’ (RSA) to the list of known hosts.
警告完了,如果你能看到如下提示,那你已經(jīng)成功設(shè)置SSH密鑰。
Hi “用戶名”! You’ve successfully authenticated, but GitHub does not provide shell access.
如果你看到 access denied,者表示拒絕訪問,那么你就需要使用 https 去訪問。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容