前言
很多朋友在用github管理項目的時候,都是直接使用https url克隆到本地,當然也有有些人使用 SSH url 克隆到本地。然而,為什么絕大多數人會使用https url克隆呢?
這是因為,使用https url克隆對初學者來說會比較方便,復制https url 然后到 git Bash 里面直接用clone命令克隆到本地就好了。而使用 SSH url 克隆卻需要在克隆之前先配置和添加好 SSH key 。
因此,如果你想要使用 SSH url 克隆的話,你必須是這個項目的擁有者。否則你是無法添加 SSH key 的。
https 和 SSH 的區別:
1、前者可以隨意克隆github上的項目,而不管是誰的;而后者則是你必須是你要克隆的項目的擁有者或管理員,且需要先添加 SSH key ,否則無法克隆。
2、https url 在push的時候是需要驗證用戶名和密碼的;而 SSH 在push的時候,是不需要輸入用戶名的,如果配置SSH key的時候設置了密碼,則需要輸入密碼的,否則直接是不需要輸入密碼的。
在 github 上添加 SSH key 的步驟:
第一步、首先,檢查下自己之前有沒有已經生成:
在開始菜單中打開git下的git bash(當然,在其他目錄下打開git bash也是一樣的):
然后執行
ls -al ~/.ssh
第二步、如果能進入到.ssh文件目錄下 ,則證明,之前生成過.ssh秘鑰,可以直接使用里面的秘鑰。
如果不能進入到.ssh文件目錄下,則:
檢測下自己之前有沒有配置:
git config user.name和git config user.email(直接分別輸入這兩個命令)
如果之前沒有創建,則執行以下命令:
git config –global user.name ‘xxxxx’
git config –global user.email ‘xxx@xx.xxx’
生成秘鑰
ssh-keygen -t rsa -C ‘上面的郵箱’
代碼參數含義:
-t 指定密鑰類型,默認是 rsa ,可以省略。
-C 設置注釋文字,比如郵箱。
-f 指定密鑰文件存儲文件名。
接着按3個回車
[root@localhost ~]# ssh-keygen -t rsa <== 建立密鑰對,-t代表類型,有RSA和DSA兩種
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): <==密鑰文件默認存放位置,按Enter即可
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): <== 輸入密鑰鎖碼,或直接按 Enter 留空
Enter same passphrase again: <== 再輸入一遍密鑰鎖碼
Your identification has been saved in /root/.ssh/id_rsa. <== 生成的私鑰
Your public key has been saved in /root/.ssh/id_rsa.pub. <== 生成的公鑰
The key fingerprint is:
SHA256:K1qy928tkk1FUuzQtlZK+poeS67vIgPvHw9lQ+KNuZ4 root@localhost.localdomain
The key's randomart image is:
+---[RSA 2048]----+
| +. |
| o * . |
| . .O + |
| . *. * |
| S =+ |
| . =... |
| .oo =+o+ |
| ==o+B*o. |
| oo.=EXO. |
+----[SHA256]-----+
最后在.ssh目錄下(C盤用戶文件夾下)得到了兩個文件:id_rsa(私有秘鑰)和id_rsa.pub(公有密鑰)
第三步、如果想登陸遠端,則需要將rsa.pub里的秘鑰添加到遠端。
首先,去.ssh目錄下找到id_rsa.pub這個文件夾打開復制全部內容。
接着:
1.登錄GitHub,進入你的Settings

2.會看到左邊這些目錄,點擊SSH and GPG keys

3.創建New SSH key

4.粘貼你的密鑰到你key輸入框中

5.點擊Add SSH key
6.再彈出窗口,輸入你的GitHub密碼,點擊確認按鈕。
7.到此,就大功告成了。
第四步 測試。
再使用下面的命令測試是否成功
ssh -T git@github.com
然后會看到這個內容,輸入yes即可

最后,如看到以下信息,那么就完美了。成功了!!!

