迁移hugo博客到私有库,以及使用ssh密钥等操作
迁移hugo博客源码到私有库,和以前hexo一样,鉴于原来写的太简略,补充一点内容。水水!
主要操作
- 创建hugo源码私有库(这步略)
- 私有库要全空:不创建
README
,.gitignore
,license
避免分支合并异常。
- 私有库要全空:不创建
- 生成ssh密钥
- 取消原来的仓库连接,连接到私有库
- 修改配置(主要是github-action.yml)
- 测试
生成密钥
一般来说原本就有,不过经过查验,全都在用,所以生成新的。
密钥存放路径一般在 ~/.ssh
,其中公钥在 id_rsa.pub
,私钥在 id_rsa
,主要是看后缀,名字都是可以改的。
https 和 SSH 的区别:
1、前者可以随意克隆github上的项目,而不管是谁的;而后者则是你必须是你要克隆的项目的拥有者或管理员,且需要先添加 SSH key ,否则无法克隆。
2、https url 在push的时候是需要验证用户名和密码的;而 SSH 在push的时候,是不需要输入用户名的,如果配置SSH key的时候设置了密码,则需要输入密码的,否则直接是不需要输入密码的。
步骤:
在开始菜单中打开git下的git bash(当然,在其他目录下打开git bash也是一样的):
如果在其他目录生成密钥,输出的密钥文件就会在当前目录,要存放到系统常用目录,请
1 | cd ~/.ssh |
然后执行
1 | ls -al ~/.ssh |
能进入并输出则说明已经生成过密钥,但是一般来说都是在用的密钥,所以还是要重新生成。
如果不能进入到.ssh文件目录下,则检测下自己之前有没有配置用户名和邮箱:
1 | git config user.name和git config user.email(直接分别输入这两个命令) |
如果之前没有创建,则执行以下命令:
1 | git config –global user.name 'xxxxx' |
生成秘钥
1 | ssh-keygen -t rsa -C '上面的邮箱' -f rsa_name |
代码参数含义:
-t 指定密钥类型,默认是 rsa ,可以省略。
-C 设置注释文字,比如邮箱。
-f 指定密钥文件存储文件名。(可选,默认 id_rsa
,默认的话会把旧的顶掉)
接着按3个回车
1 | [root@localhost ~]# ssh-keygen -t rsa <== 建立密钥对,-t代表类型,有RSA和DSA两种 |
最后在.ssh目录下(C盘用户文件夹下)得到了两个文件:id_rsa(私有秘钥)和id_rsa.pub(公有密钥)
使用:
要想使用ssh访问,则需将公钥放在远端。本次改进的操作则如下:
- 公钥复制到开源库(网页部署的仓库)的
Setting-Security-Deploy keys
下,创建新的Deploy key
名字随意,内容为公钥内容。 - 私钥复制到私有库(源码仓库)的
Setting-Security-Secrets and variables-Actions-secret
下,创建新的Secrets
名字要与github-action.yml
中的deploy_key
一致,如称为hugo-deploy
,则.yml
中应为:deploy_key: ${{ secrets.hugo-deploy }}
,以便对应,大小写敏感!
连接仓库并测试
剩下的就没啥事了。
取消原仓库连接:
1 | git remote -v |
连接新的:
1 | git init |
搞完直接去仓库看部署情况即可。
迁移hugo博客到私有库,以及使用ssh密钥等操作
https://scutlmg.github.io/2023/02/20/迁移hugo博客到私有库,以及使用ssh密钥等操作/