题外话不说,这篇主要说一下hexo框架的一些问题以及Git部署的奇怪BUG。以及在之后的搭建中,我所应该注意的事情。其实也有可能是我的问题。
博客存放路径
在博客的存放路径中不可存在中文字符以及中括号等在 ASCII 中没有的符号或文字,不然会遇到一些十分恶心的问题。这可能是 Hexo 渲染器的问题。
在最近的博客重建中,未曾额外注意过编码的问题,我错误的将博客放置在了我 E 盘的 [Blog] 文件夹中。从而导致我的本地预览出现问题,
部署问题
在部署过程中也有不少的问题,其中我遇到的包括:
- ssh: connect to host github.com port 22: Connection refused
- ssh: connect to host github.com port 22: Connection time out
- kex_exchange_identification: Connection closed by remote host
关于以上问题我使用了如下方法: - 设置 RSA 密钥
- 检查并设置代理
- 更换端口号
- 重新登陆
- 将 SSH 更换为 HTTPS 链接
- 取消代理
设置 RSA 密钥
关于第一个方法是针对于一台新电脑或已经重置系统的用户,第一步需要本地生成 ssh key
第一步:在终端中输入ssh-keygen -t rsa -C example@example.com
其中,example@example.com 需更改为自己的邮箱
第二步:使用自己喜欢的文本编辑器打开 %USERPROFILE%/.ssh 文件夹下的 id_rsa.pub 文件,并复制其中全部内容。
.ssh文件夹可能是隐藏的,可能需要 Ctrl + H 显示隐藏文件夹
第三步:打开 Github,找到在 Setting 中的 SSH and GPG keys,点击 New SSH key。将第二步过程中内容全部拷贝到 Key 输入框中。名称随意,但建议使用自己本机系统作为名称。
最后,完成上述所有操作之后可以和回到终端中,输入 ssh -T git@github.com 测试SSH链接。
检查并设置代理
其实,不只是 RSA 的问题对吧。
- Windows CMD 代理
- HTTP代理
1
2set http_proxy=http://127.0.0.1:7890
set https_proxy=http://127.0.0.1:7890 - Socks5 代理
1
2set http_proxy=socks5://127.0.0.1:7890
set https_proxy=socks5://127.0.0.1:7890 - 取消代理 认为自己已经设置完的,可以使用 echo %http_proxy% 进行检查。
1
2set http_proxy=
set https_proxy=
- HTTP代理
- Git Bash 代理
- HTTP 代理
1
2git config --global http.proxy http://127.0.0.1:7890
git config --global https.proxy http://127.0.0.1:7890 - Socks5 代理
1
2git config --global http.proxy socks5://127.0.0.1:7890
git config --global https.proxy socks5://127.0.0.1:7890 - 取消代理
1
2git config --global --unser http.proxy
git config --global --unser https.proxy
- HTTP 代理
输入 ssh -T git@github.com 测试SSH链接。
更换端口号
一般来讲,设置代理后 Git 就已经正常了,但我不是一般。
若发现设置代理后,Git 还是无法正常使用,则可以尝试更改端口。
首先打开 %USERPROFILE%/.ssh 文件夹,使用自己喜欢的文本编辑器打开该文件夹中的 config 文件,输入以下内容
若没有 config 文件请自行创建,注意没有后缀名
1 | Host github.com |
输入 ssh -T git@github.com 测试SSH链接。
上述中,Example@example.com 以及 <PROXY-HOST>:<PORT> 请依照自己的情况进行填写。
重新登陆
进展到这一步,95%的人应该都可以成功了,如果还不行……
重新登陆试一试?
第一步: 在 终端中输入以下内容
1 | git config --global user.email "example@example.com" |
example……不重复了喵!操作完成后需要设置 RSA 密钥
将 SSH 更换为 HTTPS 链接
建议在使用每一种方法前,优先使用该方法。
取消代理
其实我使用过上述全部办法,但结果都是出奇的一致。所以,我考虑了一下取消所有代理,结果很好,成功了!
所以,如果有代理的小伙伴也可以试一试这种办法哦~
奇怪的 Bug
第一次使用22端口提示:
1 | $ ssh -T git@github.com |
于是我更换了443端口:
1 | $ ssh -T git@github.com |
然后我又换回了22端口:
1 | $ ssh -T git@github.com |