GitHub博客hexo建站之設置SSH 密鑰(keys)

做者:xinxiandong
出處:http://www.cnblogs.com/xinxiandong/p/3867505.html
聲明:本文采用如下協議進行受權: 自由轉載-非商用-非衍生-保持署名|Creative Commons BY-NC-ND 3.0 ,轉載請註明做者及出處。html

翻譯原文地址:https://help.github.com/articles/generating-ssh-keysgit

若是你的SSH key沒有添加到github賬號設置中,系統會報下面的錯誤:github

Permission denied (publickey).shell

fatal: The remote end hung up unexpectedly安全

正文:ssh


 

咱們十分建議你們在玩轉GitHub時使用SSH鏈接。SSH keys是一種鑑定信任電腦的方式,同時不須要輸入密碼。如下步驟將會教你產生一個SSH keys並把這個公共的密鑰添加到你的GitHub帳戶中。編輯器

Tips:咱們建議你常常審查你的SSH keys列表並取消那些用了一段時間的帳戶。ide

第一步:檢查SSH keys 測試


 

首先,咱們須要檢查你的電腦中是否存在SSH keys。打開Git Bash 並輸入:url

 

$ ls -al ~/.ssh
# 列出你.ssh目錄中的文件(若是存在文件的話)

 

檢查一下目錄列表查看一下是否有 id_rsa.pub   或者  id_dsa.pub. 若是這兩個文件都沒有,查看第二步。不然,看第三步。

第二步:建立一個新的SSH key

 


爲了建立一個新的SSH key,複製粘貼下面的代碼,必定要填上你的E-mail地址。默認的設置是很是棒的,因此你當你被提示「Enter a file in which to save the key」,僅僅按回車(Enter)繼續。

$ ssh-keygen -t rsa -C "your_email@example.com"
# 建立一個 ssh key, 用準備好的email做爲標籤
Generating public/private rsa key pair. Enter file in which to save the key (/c/Users/you/.ssh/id_rsa): [Press enter]

接下來,你將會被要求輸入密碼.

Tips:咱們強烈建議輸入一個好的,安全的密碼,更多信息查看 Working with SSH key passphrases.

(譯者注:這個密碼須要記好,後面會用到)

Enter passphrase (empty for no passphrase): [Type a passphrase]
Enter same passphrase again: [Type 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-代理上添加上你的新的密鑰:

# start the ssh-agent in the background
$ eval "$(ssh-agent -s)" # Agent pid 59566 $ ssh-add ~/.ssh/id_rsa

第三步:在你的GitHub帳戶中添加上SSH key

 


 

運行下面的代碼把key複製到你的粘貼板中:

 

$ clip < ~/.ssh/id_rsa.pub
# Copies the contents of the id_rsa.pub file to your clipboard

 

或者,用你最喜歡的編輯器,打開~/.ssh/id_rsa.pub 文件,手動把文件中的內容複製到粘貼板。

如今有了key的複製版,是時候添加到GitHub中了:

 

1.在任意頁面的右上角用戶欄中,點擊 Account settings

Account settings buttonSSH Keys menu

2.左側點擊 SSH Keys.

3.點擊 Add SSH key.

SSH Key button

4.在標題框中,添加這個新key的描述標籤。例如,若是你使用的是我的的Mac,你能夠把這個key叫作「Personal MacBook Air」。

5.把你的key粘貼在 "Key" 標籤下的文本框中.

The key field

6.點擊 Add key.

The Add key button

7.輸入你的GitHub 密碼以確認身份.

第四步:測試everything

 


 

爲了確保全部的操做都在工做,如今須要SSHing一下GitHub。當你這麼作的時候,你將會被要求輸入密碼以證明你的行爲,就是以前你建立的密碼。

打開Git Bash並輸入:

$ ssh -T git@github.com
# Attempts to ssh to github

你可能會看到這樣的警告:

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)?

不要擔憂,這必然會發生。這是爲了證明你上面提供的終端機器中的fingerprint(指紋),而後輸入「yes」

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

若是username是你的名字,那麼說明你的SSH key成功安裝!不用擔憂 "shell access" 這件事情,由於你根本用不到。

若是你收到的消息是"access denied," 你能夠read these instructions for diagnosing the issue.

若是你是將SSH轉換爲HTTPS,你將須要更新你的遠端倉庫中的URLs,更多信息查看Changing a remote's URL.

相關文章
相關標籤/搜索