使用SSH密鑰連接Github


使用Github,也許大家覺得比較麻煩的就是在每次push的時候,都需要輸入用戶名和密碼。如果使用SSH,就可以記住用戶名,並創建屬於自己的密碼來保證安全操作,還有神奇的一招可以“不用輸入密碼”哦。下面將介紹如何創建SSH Keys並將公鑰加到GitHub賬戶中,使用SSH Keys在本機和GitHub之間建立一個安全的連接。

一、Windows環境下生成SSH key且連接GitHub

第一步、看看是否存在SSH密鑰(keys)

首先,我們需要看看是否看看本機是否存在SSH keys,打開Git Bash,並運行:

檢查你本機用戶home目錄下是否存在.ssh目錄

如果,不存在此目錄,則進行第二步操作,否則,你本機已經存在ssh公鑰和私鑰,可以略過第二步,直接進入第三步操作。

第二步、創建一對新的SSH密鑰(keys)

輸入如下命令:

直接回車,則將密鑰按默認文件進行存儲。此時也可以輸入特定的文件名,比如/c/Users/you/.ssh/github_rsa

接着,根據提示,你需要輸入密碼和確認密碼(說到這里,如果你很放心,其實可以不用密碼,就是到輸密碼的地方,都直接回車,所以每次push就只管回車就行了。所謂的最安全的密碼,就是沒有密碼  – –  哈哈)。相關提示如下:

輸入完成之后,屏幕會顯示如下信息:

 

第三步、在GitHub賬戶中添加你的公鑰

運行如下命令,將公鑰的內容復制到系統粘貼板(clipboard)中。

接着:

1. 登陸GitHub,進入你的Account Settings.

userbar-account-settings

2. 在左邊菜單,點擊”SSH Keys”.

settings-sidebar-ssh-keys

3. 點擊”Add SSH key”按鈕.

ssh-add-ssh-key

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

ssh-key-paste

5. 點擊”Add Key”按鈕。

ssh-add-key

6. 再彈出窗口,輸入你的GitHub密碼,點擊確認按鈕。

7. 到此,大功告成了!

 

第四步、測試

為了確認我們可以通過SSH連接GitHub,我們輸入下面命令。輸入后,會要求我們提供驗證密碼,輸入之前創建的密碼就ok了。

 

你可能會看到告警信息,如下:

不用擔心,直接輸入yes。

如果看到下面信息,就說明一切完美!

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

 

二、Mac環境下生成SSH key且連接GitHub

第一步、看看是否存在SSH密鑰(keys)

首先,我們需要看看是否看看本機是否存在SSH keys,打開終端(Terminal),並運行:

$cd ~/.ssh
# 檢查你本機用戶home目錄下是否存在.ssh目錄
如果,不存在此目錄,則進行第二步操作,否則,你本機已經存在ssh公鑰和私鑰,可以略過第二步,直接進入第三步操作。

第二步、創建一對新的SSH密鑰(keys)

輸入如下命令:

直接回車,則將密鑰按默認文件進行存儲。此時也可以輸入特定的文件名,比如/Users/you/.ssh/github_rsa

接着,根據提示,你需要輸入密碼和確認密碼。相關提示如下:

輸入完成之后,屏幕會顯示如下信息:

 

第三步、在GitHub賬戶中添加你的公鑰

運行如下命令,將公鑰的內容復制到系統粘貼板(clipboard)中。

pbcopy < ~/.ssh/id_rsa.pub
接着:

1. 登陸GitHub,進入你的Account Settings.

userbar-account-settings

 

2. 在左邊菜單,點擊”SSH Keys”.

settings-sidebar-ssh-keys

 

3. 點擊”Add SSH key”按鈕.

 

ssh-add-ssh-key

 

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

ssh-key-paste

 

5. 點擊”Add Key”按鈕。

ssh-add-key

 

6. 再彈出窗口,輸入你的GitHub密碼,點擊確認按鈕。

7. 到此,大功告成了!

 

第四步、測試

為了確認我們可以通過SSH連接GitHub,我們輸入下面命令。輸入后,會要求我們提供驗證密碼,輸入之前創建的密碼就ok了。

$ ssh -T git@github.com
你可能會看到告警信息,如下:

不用擔心,直接輸入yes。

如果看到下面信息,就說明一切完美!

Hi username! You’ve successfully authenticated, but GitHub does not provide shell access.
【注意】

如果前面沒有將生成的密鑰存放在默認的文件id_rsa中(而是my_rsa中),那么ssh -T git@github.com命令就需要添加參數來執行。如下:

$ ssh -T -i my_rsa git@github.com

 

三、單機如何控制不同的SSH Keys連不同的Git環境?

其實,一套SSH密鑰是可以用在不同的SSH環境的.

但是如果由於某種要求,需要用不同的SSH密鑰連接不同的Git環境。假設具體場景是,已經建了密鑰github_rsa,還需要創建work_rsa連接工作環境git倉庫,那么,可以按下面操作進行:

1. 創建另一對密鑰work_rsa.

$ssh-keygen -t rsa -C “work@mail.com”
#保存密鑰為work_rsa

2. 添加新身份信息

$ssh-add ~/.ssh/work_rsa

3. 配置.ssh/config

我們需要通過Host別名,將不同的賬號區分開來。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM