免密输入 GitHub 部署项目,采用 SSH
之前一直采用 GitHub Desktop 图形化草棉,难免有些操作复杂,但是研究命令行部署,有没有正好。
1、生成 SSH 密钥
2、设置 GitHub 中的 SSH keys
这里可以选择在用户设置中添加密钥(Settings –> SSH GPG keys)或者往单个项目中添加密钥。这里以用户设置中添加 SSH 密钥为例。
向用户设置中添加:打开 github 首页,点击右上角的用户头像,选择 Settings
左边找到 SSH and GPG keys
,选择 New SSH key
,将 .ssh
目录下 id_rsa.pub
文件里的全部内容复制进去,点击 Add SSH key
完成密钥的添加。
向单个项目中添加:打开 username.github.io
的 repository
,在菜单中选择 Settings
-> Deploy keys
-> Add deploy key
,后面的步骤和上面一样。
输入以下命令测试是否成功
$ ssh -T git@github.com
如果出现以下内容则表示配置成功
Hi username! You've successfully authenticated, but GitHub does not provide shell access.
3、把 Hexo 的认证方式改为 SSH
打开 Hexo
的配置文件 _config.yml
,把 deploy
改为
deploy:
type: git #部署类型, 本文使用Github
repository: git@github.com:gwaiting/gwaiting.github.io.git
#部署的仓库的SSH
branch: main2 #部署分支,一般使用master主分支
最后,在终端执行命令 $ hexo clean && hexo g -d
进行部署并上传,检验是否成功。