[Mac] 使用 SSH 來連接到 GitHub

如果你是第一次設(shè)置 SSH晶疼,那么一共有如下 5 個步驟:

  1. 在本地生成一個新的 SSH key;
  2. 把新生成的 SSH key 添加到 ssh-agent者蠕;//這樣你之后使用 SSH 的時候不用每次輸入 passphrase
  3. 把新生成的 SSH key 添加到 GitHub;
  4. 檢查 SSH key 是否可用;
  5. 使用 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。

  1. 打開 Terminal.app钦椭;
  2. 輸入 ssh-keygen -t rsa -b 4096 -C "你的郵箱地址"拧额。例如,ssh-keygen -t rsa -b 4096 -C "123456@qq.com"彪腔;
  3. 當(dāng)出現(xiàn) "Enter a file in which to save the key," 的時候侥锦,按 return 鍵;
  4. 當(dāng)出現(xiàn) "Enter passphrase (empty for no passphrase)" 的時候德挣,輸入一串密碼恭垦,這串密碼是操作 repo 的時候用的,而不是你的 GitHub 賬號密碼格嗅。輸入完成后按 return 鍵番挺,在此輸入以確認。如果你不想設(shè)置 passphrase屯掖,那就直接按兩次 return 鍵玄柏。
  5. 提示 "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ù)按以下步驟輸入代碼邑退。

  1. 首先輸入 eval "$(ssh-agent -s)" 返回 "Agent pid ..." 就算成功竹宋;
  2. 其次輸入 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)頁

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末柿扣,一起剝皮案震驚了整個濱河市肖方,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌未状,老刑警劉巖俯画,帶你破解...
    沈念sama閱讀 222,252評論 6 516
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異司草,居然都是意外死亡艰垂,警方通過查閱死者的電腦和手機泡仗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,886評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來猜憎,“玉大人娩怎,你說我怎么就攤上這事∫雀蹋” “怎么了截亦?”我有些...
    開封第一講書人閱讀 168,814評論 0 361
  • 文/不壞的土叔 我叫張陵,是天一觀的道長柬讨。 經(jīng)常有香客問我崩瓤,道長,這世上最難降的妖魔是什么踩官? 我笑而不...
    開封第一講書人閱讀 59,869評論 1 299
  • 正文 為了忘掉前任却桶,我火速辦了婚禮,結(jié)果婚禮上蔗牡,老公的妹妹穿的比我還像新娘颖系。我一直安慰自己,他們只是感情好蛋逾,可當(dāng)我...
    茶點故事閱讀 68,888評論 6 398
  • 文/花漫 我一把揭開白布集晚。 她就那樣靜靜地躺著,像睡著了一般区匣。 火紅的嫁衣襯著肌膚如雪偷拔。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,475評論 1 312
  • 那天亏钩,我揣著相機與錄音莲绰,去河邊找鬼。 笑死姑丑,一個胖子當(dāng)著我的面吹牛蛤签,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播栅哀,決...
    沈念sama閱讀 41,010評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼震肮,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了留拾?” 一聲冷哼從身側(cè)響起戳晌,我...
    開封第一講書人閱讀 39,924評論 0 277
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎痴柔,沒想到半個月后沦偎,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,469評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,552評論 3 342
  • 正文 我和宋清朗相戀三年豪嚎,在試婚紗的時候發(fā)現(xiàn)自己被綠了搔驼。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,680評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡侈询,死狀恐怖舌涨,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情妄荔,我是刑警寧澤泼菌,帶...
    沈念sama閱讀 36,362評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站啦租,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏荒揣。R本人自食惡果不足惜篷角,卻給世界環(huán)境...
    茶點故事閱讀 42,037評論 3 335
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望系任。 院中可真熱鬧恳蹲,春花似錦、人聲如沸俩滥。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,519評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽霜旧。三九已至错忱,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間挂据,已是汗流浹背以清。 一陣腳步聲響...
    開封第一講書人閱讀 33,621評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留崎逃,地道東北人掷倔。 一個月前我還...
    沈念sama閱讀 49,099評論 3 378
  • 正文 我出身青樓,卻偏偏與公主長得像个绍,于是被迫代替她去往敵國和親勒葱。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,691評論 2 361

推薦閱讀更多精彩內(nèi)容

  • 轉(zhuǎn)自:http://www.cnblogs.com/heyonggang/p/3462191.html 提起git...
    Vicent_Z閱讀 695評論 0 1
  • GitLab是一個利用Ruby on Rails開發(fā)的開源應(yīng)用程序巴柿,實現(xiàn)一個自托管的Git項目倉庫凛虽,可通過Web界...
    YHWXQ簡簡單單的生活閱讀 87,971評論 3 37
  • 前言: 提起github相信大家都不會陌生,在這里就不再過多進述了篮洁。作為開源代碼庫以及版本控制系統(tǒng)涩维,使用好了確實會...
    蘇村的南哥閱讀 2,316評論 2 3
  • 唉瓦阐,談戀愛的哥哥蜗侈,真是有了妹子忘親妹!我要吐槽睡蟋! 自從我哥談了女朋友后踏幻,我的地位直線下降!而且還是以很快的速度呈流...
    丁盞合閱讀 172評論 11 2
  • 1. 我從成都回來戳杀,坐的是那天最晚的航班该面,越晚越省錢。 雙流機場也不再像白天那樣人頭攢動信卡。 2. 坐飛...
    黃鷗Marzo閱讀 725評論 0 1