github設置添加ssh

轉載html

原文閱讀:https://www.cnblogs.com/chuyanfenfei/p/8035067.htmlgit

不少朋友在用github管理項目的時候,都是直接使用https url克隆到本地,固然也有有些人使用 SSH url 克隆到本地。然而,爲何絕大多數人會使用https url克隆呢?github

這是由於,使用https url克隆對初學者來講會比較方便,複製https url 而後到 git Bash 裏面直接用clone命令克隆到本地就行了。而使用 SSH url 克隆卻須要在克隆以前先配置和添加好 SSH key 。shell

所以,若是你想要使用 SSH url 克隆的話,你必須是這個項目的擁有者。不然你是沒法添加 SSH key 的。ssh

https 和 SSH 的區別:

一、前者能夠隨意克隆github上的項目,而無論是誰的;然後者則是你必須是你要克隆的項目的擁有者或管理員,且須要先添加 SSH key ,不然沒法克隆。編輯器

二、https url 在push的時候是須要驗證用戶名和密碼的;而 SSH 在push的時候,是不須要輸入用戶名的,若是配置SSH key的時候設置了密碼,則須要輸入密碼的,不然直接是不須要輸入密碼的。ide

在 github 上添加 SSH key 的步驟:

一、首先須要檢查你電腦是否已經有 SSH key

運行 git Bash 客戶端,輸入以下代碼:測試

$ cd ~/.ssh
$ ls

這兩個命令就是檢查是否已經存在 id_rsa.pub 或 id_dsa.pub 文件,若是文件已經存在,那麼你能夠跳過步驟2,直接進入步驟3。url

二、建立一個 SSH key

$ ssh-keygen -t rsa -C "your_email@example.com"

代碼參數含義:code

-t 指定密鑰類型,默認是 rsa ,能夠省略。
-C 設置註釋文字,好比郵箱。
-f 指定密鑰文件存儲文件名。

以上代碼省略了 -f 參數,所以,運行上面那條命令後會讓你輸入一個文件名,用於保存剛纔生成的 SSH key 代碼,如:

Generating public/private rsa key pair.
# Enter file in which to save the key (/c/Users/you/.ssh/id_rsa): [Press enter]

固然,你也能夠不輸入文件名,使用默認文件名(推薦),那麼就會生成 id_rsa 和 id_rsa.pub 兩個祕鑰文件。

接着又會提示你輸入兩次密碼(該密碼是你push文件的時候要輸入的密碼,而不是github管理者的密碼),

固然,你也能夠不輸入密碼,直接按回車。那麼push的時候就不須要輸入密碼,直接提交到github上了,如:

Enter passphrase (empty for no passphrase): 
# Enter same passphrase again:

接下來,就會顯示以下代碼提示,如:

Your identification has been saved in /c/Users/you/.ssh/id_rsa.
# Your public key has been saved in /c/Users/you/.ssh/id_rsa.pub.
# The key fingerprint is:
# 01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db your_email@example.com

當你看到上面這段代碼的收,那就說明,你的 SSH key 已經建立成功,你只須要添加到github的SSH key上就能夠了。

三、添加你的 SSH key 到 github上面去

a、首先你須要拷貝 id_rsa.pub 文件的內容,你能夠用編輯器打開文件複製,也能夠用git命令複製該文件的內容,如:

$ clip < ~/.ssh/id_rsa.pub

b、登陸 github 右上角點擊你的頭像—>Settings—>SSH and GPG keys—>new SSH key—>將複製的公鑰(id_rsa.pub)代碼添加到Key中,並鍵入Title—> 點擊add SSH key

四、測試一下該SSH key

在git Bash 中輸入如下代碼

$ ssh -T git@github.com

當你輸入以上代碼時,會有一段警告代碼,如:

The authenticity of host 'github.com (207.97.227.239)' can't be established.
# RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
# Are you sure you want to continue connecting (yes/no)?

這是正常的,你輸入 yes 回車既可。若是你建立 SSH key 的時候設置了密碼,接下來就會提示你輸入密碼,如:

Enter passphrase for key '/c/Users/Administrator/.ssh/id_rsa':

固然若是你密碼輸錯了,會再要求你輸入,知道對了爲止。

注意:輸入密碼時若是輸錯一個字就會不正確,使用刪除鍵是沒法更正的。

密碼正確後你會看到下面這段話,如:

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

若是用戶名是正確的,你已經成功設置SSH密鑰。若是你看到 「access denied」 ,者表示拒絕訪問,那麼你就須要使用 https 去訪問,而不是 SSH 。

若是你有什麼疑問或指正,請留言。

參考文檔:https://help.github.com/articles/generating-ssh-keys

相關文章
相關標籤/搜索