zqhong / pelican-blog

Use Pelican generate static blog site
1 stars 0 forks source link

配置 GitHub SSH key #11

Open zqhong opened 7 years ago

zqhong commented 7 years ago

生成 SSH key

// 这里假设你存储到 ~/.ssh/github
// 最终会输出 MD5:xx:bc:b5:xx:xx:xx:xx:3e:81:f7:xx:59:c0:b4:d2:xx xxxx@domain.com 这样的字符
// 稍后用于校验
$ ssh-keygen -t rsa -b 4096 -C "zqh0513@gmail.com" -E md5

将公钥添加到 GitHub

// 复制结果,添加到 https://github.com/settings/keys
// 对比 Fingerprint(指纹)是否正确
$ cat ~/.ssh/github.pub

创建 ssh 配置文件

如果是 Linux 用户,文件路径为 ~/.ssh/config,如果是 Windows 用户,则为 C:\Users\your_name.ssh\config

内容为:

Host github.com
    User git
    IdentityFile %d/.ssh/github

NOTE:这里的 %d 代码当前用户的家目录,Linux 系统一般为 /home/your_name,Windows 系统一般为 C:\Users\your_name。

测试

// 最终能看到你的用户名说明是成功的
$ ssh -T git@github.com

// 如果出现错误,打印匹配到的配置,查看配置是否正确
$ ssh -G git@github.com

注意

在 git clone 的时候,请选择 git 协议,而不是 https 协议。

// 正确
$ git clone git@github.com:you/project.git

// 错误
$ git clone https://github.com/you/project.git

设置代理

设置 HTTP 和 HTTPS 代理

git config --global https.proxy http://127.0.0.1:8080
git config --global https.proxy https://127.0.0.1:8080

设置 SSH 代理

打开 ssh 配置文件(~/.ssh/config),内容为:

Host github.com
    ProxyCommand proxytunnel -p 127.0.0.1:8080 -d %h:%p

proxytunnel 需要安装,下载地址

TIP:

  1. ProxyCommand 中的 %h 代表要连接的 hostname(这里为 github.com),%p 代表要连接的 port(这里为 SSH 默认端口 22)
  2. 这里的 127.0.0.1:8080 是 HTTP/HTTPS 代理

参考

Generating a new SSH key and adding it to the ssh-agent github设置添加SSH Simplify Your Life With an SSH Config File ssh_config(5) - Linux man page HTTP tunneling