Github与SSH
由于多年没有用ssh方式登录Github,已经完全忘记怎么在Github上配置SSH。虽然本地存有秘钥,也不会用了。折腾了几个小时,在欢喜之余,也将这次总结纪录下来,以备不时之需。
本文主要内容是如何在Github上配置SSH。
其实Github已经有教程
生成 ssh 秘钥
其实很简单,在终端执行 ssh-keygen help
命令可以看到
ssh-keygen [-b bits] [-t dsa | ecdsa | ed25519 | rsa | rsa1] |
-b 加密算法秘钥长度
-t 实用的加密算法类型,支持 dsa | ecdsa | ed25519 | rsa | rsa1
-N 秘钥指纹,一般用默认的就好
-C 就是commit
-f 输出的文件名
实际使用如下:
Baiya:~ baiya$ ssh-keygen -b 4096 -t rsa -C "some commit, whatever" -f github |
生成的秘钥存放在 ~/.ssh/
文件夹下
生成的秘钥存放在 ~/.ssh/
文件夹下
生成的秘钥存放在 ~/.ssh/
文件夹下
进入.ssh文件夹下可以看到秘钥对 github
和 github.pub
.
- 也可以只输入
ssh-keygen
命令,然后逐个输入参数
$ ssh-keygen |
添加私钥
Baiya:Hexo baiya$ ssh-add ~/.ssh/github |
确保ssh-agent是打开的:
# start the ssh-agent in the background |
配置Github
配置很简单,进入Github 设置页,选择 SSH and GPG keys -> New SSH key,将上步生成的公钥copy进去即可。
可以用cat
命令查看公钥内容
Baiya:~ baiya$ cat ~/.ssh/github.pub |
配之后即可以ssh方式访问github
Baiya:~ baiya$ ssh -T git@github.com |
查看秘钥指纹
新版SSH默认是以SHA256格式输出:
ssh-keygen -lf ~/.ssh/id_rsa.pub |
如果需要以md5方式输出,还需要加上-E
:
ssh-keygen -E md5 -lf ~/.ssh/id_rsa.pub |
其他命令
ssh-add -l
列出加入的所有秘钥,或者以md5方式输出
ssh-add -l -E md5 |