Github與SSH

由于多年沒(méi)有用ssh方式登錄Github,已經(jīng)完全忘記怎么在Github上配置SSH。雖然本地存有秘鑰,也不會(huì)用了。折騰了幾個(gè)小時(shí),在歡喜之余,也將這次總結(jié)紀(jì)錄下來(lái),以備不時(shí)之需。

本文主要內(nèi)容是如何在Github上配置SSH。

其實(shí)Github已經(jīng)有教程

生成 ssh 秘鑰

其實(shí)很簡(jiǎn)單,在終端執(zhí)行 ssh-keygen help命令可以看到

ssh-keygen [-b bits] [-t dsa | ecdsa | ed25519 | rsa | rsa1]
                  [-N new_passphrase] [-C comment] [-f output_keyfile]

-b 加密算法秘鑰長(zhǎng)度
-t 實(shí)用的加密算法類(lèi)型,支持 dsa | ecdsa | ed25519 | rsa | rsa1
-N 秘鑰指紋,一般用默認(rèn)的就好
-C 就是commit
-f 輸出的文件名

實(shí)際使用如下:

Baiya:~ baiya$ ssh-keygen -b 4096 -t rsa -C "some commit, whatever" -f github
Generating public/private rsa key pair.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in github.
Your public key has been saved in github.pub.
The key fingerprint is:
SHA256:Ut3vb9oWO3lX3PwgTCIDZ8eAWygHyjH5RNDfUN+5TJc some commit, whatever

生成的秘鑰存放在 ~/.ssh/ 文件夾下
生成的秘鑰存放在 ~/.ssh/ 文件夾下
生成的秘鑰存放在 ~/.ssh/ 文件夾下

進(jìn)入.ssh文件夾下可以看到秘鑰對(duì) githubgithub.pub.

  • 也可以只輸入ssh-keygen命令,然后逐個(gè)輸入?yún)?shù)
$ ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/schacon/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /Users/schacon/.ssh/id_rsa.
Your public key has been saved in /Users/schacon/.ssh/id_rsa.pub.
The key fingerprint is:
43:c5:5b:5f:b1:f1:50:43:ad:20:a6:92:6a:1f:9a:3a schacon@agadorlaptop.local

添加私鑰:

Baiya:Hexo baiya$ ssh-add ~/.ssh/github
Enter passphrase for ~/.ssh/github: 
Identity added: ~/.ssh/github (/Users/baiya/.ssh/github)

確保ssh-agent是打開(kāi)的:

# start the ssh-agent in the background
eval "$(ssh-agent -s)"
Agent pid 59566

配置Github

配置很簡(jiǎn)單,進(jìn)入Github 設(shè)置頁(yè),選擇 SSH and GPG keys -> New SSH key,將上步生成的公鑰copy進(jìn)去即可。

可以用cat命令查看公鑰內(nèi)容

Baiya:~ baiya$ cat ~/.ssh/github.pub 

配之后即可以ssh方式訪問(wèn)github

Baiya:~ baiya$ ssh -T git@github.com

查看秘鑰指紋

新版SSH默認(rèn)是以SHA256格式輸出:

ssh-keygen -lf ~/.ssh/id_rsa.pub 
1024 SHA256:19n6fkdz0qqmowiBy6XEaA87EuG/jgWUr44ZSBhJl6Y (DSA)

如果需要以md5方式輸出,還需要加上-E

ssh-keygen -E md5 -lf ~/.ssh/id_rsa.pub
2048 MD5:4d:5b:97:19:8c:fe:06:f0:29:e7:f5:96:77:cb:3c:71 (DSA)

其他命令

ssh-add -l 列出加入的所有秘鑰,或者以md5方式輸出

ssh-add -l -E md5

參考鏈接

Github SSH Help
SSH keys (簡(jiǎn)體中文)
ssh-keygen 中文手冊(cè)

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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