在使用 hexo 中遇见的种种奇奇怪怪的问题,做下汇总
# 为 github 和 gitcafe 配置 ssh key
1. 为 github 和 gitcafe 分别生成新的 ssh key
ssh-keygen -t rsa -C 'qoopp@github.com' | |
ssh-keygen -t rsa -C 'qoopp@gitcafe.com' |
2. 打开新生成的~/.ssh/xxx_rsa.pub 文件,将公钥内容添加到 github 和 gitcafe 后台中
3. 查看系统 ssh-key 代理
ssh-add -l //查看代理 | |
ssh-add -D //全部删除 |
4. 把新生成的两个私钥添加到 ssh-agent 中
ssh-add ~/.ssh/github_rsa | |
ssh-add ~/.ssh/gitcafe_rsa |
注:比较坑的是 ssh-add 命令是一次性的,下次使用时要么重新添加一遍,要么可以把你输入的 ssh-add 命令的内容写进 .bashrc 或 .bash_profile (或其他任何你使用的 shell 环境配置文件)中去,这样只要你打开终端,就等于自动做了这件事情,操作如下:
①. 如果上面新生成的 ssh key 私钥中存在 passphrase 先去除(虽然没了 passphrase 保护变得不怎么安全了,但是为了方便也不管这么多了😊)
openssl rsa -in ~/.ssh/github_rsa -out ~/.ssh/github_rsa_new #去除 | |
mv ~/.ssh/github_rsa ~/.ssh/github_rsa.backup #备份旧私钥 | |
mv ~/.ssh/github_rsa_new ~/.ssh/github_rsa #使用新私钥 | |
chmod 600 ~/.ssh/github_rsa #设置权限 |
②. 打开~/.bash_profile (一般在这个文件中添加用户级环境变量)(注:Linux 里面是 .bashrc 而 Mac 是 .bash_profile)
ssh-add ~/.ssh/github_rsa >/dev/null 2>&1 | |
ssh-add ~/.ssh/gitcafe_rsa >/dev/null 2>&1 |
5. 打开~/.ssh/config 文件(没有则创建),添加如下内容:
#github | |
Host github | |
HostName github.com | |
User git | |
IdentityFile ~/.ssh/github_rsa | |
#gitcafe | |
Host gitcafe | |
HostName gitcafe.com | |
User git | |
IdentityFile ~/.ssh/gitcafe_rsa |
6. 测试是否可用
//@后面跟上定义的Host | |
ssh -T git@github.com | |
ssh -T git@gitcafe.com |
关于 SSH keys 更多内容可以参考链接
https://wiki.archlinux.org/index.php/SSH_keys_(简体中文)
# hexo 同时使用多个 deployer
在 _config.yml 中修改参数,添加如下内容:
deploy: | |
type: git | |
repo: | |
github: git@github.com:qoopp/qoopp.github.io.git,master | |
gitcafe: git@gitcafe.com:qoopp/qoopp.git,gitcafe-pages |
详见官方文档
注:务必将 hexo-deployer-git 更新至最新,否则会出现只能 deploy 一个 repository 的奇怪 bug