如果你是第一次設(shè)置 SSH晶疼,那么一共有如下 5 個步驟:
- 在本地生成一個新的 SSH key;
- 把新生成的 SSH key 添加到 ssh-agent者蠕;//這樣你之后使用 SSH 的時候不用每次輸入 passphrase
- 把新生成的 SSH key 添加到 GitHub;
- 檢查 SSH key 是否可用;
- 使用 SSH key逮刨。
如果你以前就生成過 SSH 密鑰禀忆,那你可以直接從第二步走,只不過把“新生成的 SSH key”的名字換成你本地已有的 SSH key 的名字 (.pub 文件的名字)。
下面詳細介紹。
1. 在本地生成一個新的 SSH key
如果你是第一次生成 SSH key咪笑,那么你在 ~/Users/用戶名/
目錄(這里的"用戶名"是你 Mac 賬戶的名字)下不會有一個隱藏文件夾 .ssh
。不用擔(dān)心,在你生成 SSH key 的時候荸镊,這個目錄會自動創(chuàng)建张惹。但是如果你以前生成過 SSH key,那么這個目錄是一定存在的优构,所以你可以在 Terminal.app 中輸入 ls -al ~/.ssh
指令來鑒別你是否有歷史的 SSH key诵叁。
現(xiàn)在講如何生成 SSH key。
- 打開 Terminal.app钦椭;
- 輸入
ssh-keygen -t rsa -b 4096 -C "你的郵箱地址"
拧额。例如,ssh-keygen -t rsa -b 4096 -C "123456@qq.com"
彪腔;- 當(dāng)出現(xiàn) "Enter a file in which to save the key," 的時候侥锦,按 return 鍵;
- 當(dāng)出現(xiàn) "Enter passphrase (empty for no passphrase)" 的時候德挣,輸入一串密碼恭垦,這串密碼是操作 repo 的時候用的,而不是你的 GitHub 賬號密碼格嗅。輸入完成后按 return 鍵番挺,在此輸入以確認。如果你不想設(shè)置 passphrase屯掖,那就直接按兩次 return 鍵玄柏。
- 提示 "Your identification has been saved in..." "Your public key has been saved in..." "The key fingerprint is: xxx" "The key's randomart image is: xxx" 這就完成了。
一般而言贴铜,SSH key 是以下 .pub 文件的樣子:
id_rsa.pub
id_dsa.pub // DSA 密鑰在 OpenSSH 7.0 的時候被廢止了粪摘。如果你的操作系統(tǒng)使用 OpenSSH,那你需要用另一種密鑰格式來設(shè)置 SSH绍坝,比方說本次使用的 RSA 密鑰徘意。
id_ecdsa.pub
如果你是第一次生成 SSH key,在你生成之后轩褐,你會看到 .ssh 目錄下有兩個文件:"id_rsa" 和 "id_rsa.pub"椎咧。
進入 .ssh 目錄的方式:在 Finder.app 下同時按下 Shift Command G,輸入
~/.ssh
默認顯示隱藏文件(夾)的指令:在 Terminal.app 輸入defaults write com.apple.finder AppleShowAllFiles Yes && killall Finder
默認不顯示隱藏文件(夾)的指令:在 Terminal.app 輸入defaults write com.apple.finder AppleShowAllFiles No && killall Finder
2. 把新生成的 SSH key 添加到 ssh-agent
很簡單把介,在 Terminal.app 中繼續(xù)按以下步驟輸入代碼邑退。
- 首先輸入
eval "$(ssh-agent -s)"
返回 "Agent pid ..." 就算成功竹宋;- 其次輸入
ssh-add -K ~/.ssh/id_rsa
返回 "Identity added: /Users/用戶名/.ssh/id_rsa (/Users/用戶名/.ssh/id_rsa)"就算成功劳澄,這里的"用戶名"是你 Mac 賬戶的名字地技。
3. 把新生成的 SSH key 添加到 GitHub
首先要復(fù)制剛剛生成的 SSH key 的內(nèi)容:
在 Terminal.app 中輸入
pbcopy < ~/.ssh/id_rsa.pub
然后在 GitHub 網(wǎng)頁端,進入個人頁面秒拔,點擊右上角頭像->Settings莫矗,進入設(shè)置頁面,點擊左欄里的 "SSH and GPG keys"砂缩,點擊在右上角的 "New SSH key"作谚。在 Key 一欄內(nèi)同時按下 Command V,將剛剛復(fù)制了的內(nèi)容原封不動拷貝到框內(nèi)(不要對框內(nèi)內(nèi)容做任何修改)庵芭,然后直接進入 Title 一欄取一個你喜歡的名字(不能含有中文字符)妹懒,例如 "MacBook Pro"。然后點擊 "Add SSH key"双吆,完成添加眨唬。
4. 檢查 SSH key 是否可用
繼續(xù)在 Terminal.app 中輸入:
ssh -T git@github.com
//注意,這個地方不能換郵箱好乐,就要寫git@github.com
正常情況下會得到:"The authenticity of host 'github.com (192.30.253.112)' can't be established. RSA key fingerprint is xxxxxxxxxx. Are you sure you want to continue connecting (yes/no)?"匾竿。輸入 yes,按 return蔚万,得到 "Warning: Permanently added 'github.com,192.30.253.112' (RSA) to the list of known hosts. Hi xxx! You've successfully authenticated, but GitHub does not provide shell access." 這樣子就代表 SSH 可以用岭妖。
5. 使用 SSH key
可以試著在 Xcode 里面將本地工程文件托管到 GitHub 上,記得在下圖的位置選擇 "Clone Using SSH"反璃,把 SSH key 選擇成正確的 key昵慌。如果能夠正確的 push 和 pull,那就說明 SSH 在正常使用淮蜈,至此 SSH 配置完成斋攀。
P.S. 如果在配置過程中遇到了一切奇奇怪怪的問題,請看這個網(wǎng)頁礁芦。如果你想進一步操作 passphrase蜻韭,請看這個網(wǎng)頁。