设置 SSH 使用 hexo deploy 时免输用户名密码

来源:互联网 发布:手机身份证合成软件 编辑:程序博客网 时间:2024/06/09 20:15

此篇博客日期 2016-05-14,使用 hexo v0.2.0。介绍清楚这个使用背景是因为网上的有些教程已经过时,至少当我完全按照那些步骤来设置的时候并没有成功。SSH 验证就是我们键入命令 hexo deploy 以后,当那些需要提交的内容显示完成过后会弹出的一个小窗口提示我们输入用户名、密码。我参考了网上的一些教程,现在给出完整可行的教程,let's do it!

生成 SSH 密钥

首先打开命令行工具,通常我们可以直接右键鼠标任意位置打开 Git Bash Here,然后输入以下命令

$ cd ~/.ssh# Checks to see if there is a directory named ".ssh" in your user directory

使用 ssh-keygen 生成密钥

$ ssh-keygen -t rsa -C "your_email@example.com"# Creates a new ssh key using the provided emailGenerating public/private rsa key pair.Enter file in which to save the key (/home/you/.ssh/id_rsa):

使用默认的文件名直接enter,接下来显示如下

Enter passphrase (empty for no passphrase): [Type a passphrase]Enter same passphrase again: [Type passphrase again]

按提示输入密码即可(简化流程的话在键入命令 ssh-keygen -t rsa -C "your_email@example.com" 以后的三次提示输入都可以直接回车跳过)。

密钥生成成功

Your identification has been saved in /home/you/.ssh/id_rsa.Your public key has been saved in /home/you/.ssh/id_rsa.pub.The key fingerprint is:…………………此处是密钥内容…………………… your_email@example.com

设置 Github 项目的 Deploy keys

可以选择是在用户设置中添加密钥(Settings --> SSH GPG keys)还是单个项目中添加密钥,在这里我就在我们的博客项目中添加密钥,此处以我的博客为例。
在 chengjianhua.github.io 的首页菜单栏中点击 Settings --> Deploy keys --> Add deploy key,然后将生成的 id_rsa.pub 中的内容全选复制到 key 输入框中,然后点击 Add key 完成添加公钥。

接下来测试配置是否成功

ssh -T git@github.com

如果出现以下内容即表示配置完成并且成功!

Hi username! You've successfully authenticated, but GitHub does notprovide shell access.

设置博客的提交地址

到了这一个步骤和大家在网上搜到的其他教程就不一样了,网上的这一步就是设置

# 切入到包含 .git 文件夹的文件夹$ cd .deploy/# 查看当前的传输协议$ git remote -vorigin  https://github.com/USERNAME/REPOSITORY.git (fetch)origin  https://github.com/USERNAME/REPOSITORY.git (push)# 修改 https 协议为 ssh 协议$ git remote set-url origin git@github.com:USERNAME/REPOSITORY2.git

但是我根据网上的并没有用。更别提我的 blog 文件夹中包含 .git 文件夹的文件夹(好绕啊……)名字是 .deploy_git 了。还有我输入 $ git remote -v 时的显示结果为空,我尝试过自己添加 $ git remote add origin git@github.com:chengjianhua/chengjianhua.github.io.git,然后 $ hexo deploy 还是需要输入密码。

解决办法出来了!

在 hexo deploy 的控制台输出结果中我看到了链接仍然是 https 的链接,这时我想到了 hexo 的配置文件 _config.yml 中的deploy 属性。

deploy:  type: git  repo: git@github.com:chengjianhua/chengjianhua.github.io.git  branch: master

我将其中的 repo修改成了git@github.com:chengjianhua/chengjianhua.github.io.git,这个时候我再尝试了 $ hexo deploy 果然成功了,就不用输入密码了!

到此我的解决方法已经完成了,希望能帮到使用 hexo 的同学们~

  • 2016年05月15日发布
  • 新浪微博
  • 微信
  • Twitter
  • Facebook
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 宣武医院怎么办住院证 自主择业后悔了怎么办 建行app闪退怎么办 自己有房怎么办居住证 性格懒散不工作怎么办 脚受凉脚后跟疼怎么办 月子里脚着凉怎么办 腿着凉了疼怎么办 没有土地的农民怎么办 手机屁股坏了怎么办 包颈手术后睡中会勃起怎么办 武警义务兵训练不合格怎么办 空姐体检心率不齐怎么办 空姐体检差身高怎么办 锻炼过猛肌肉疼怎么办 中考体检有问题怎么办 想参军视力不够怎么办 公司体检查出乙肝怎么办 乙肝携带者福利体检怎么办 小孩没考好我该怎么办 客户考虑我该怎么办 明天中考 我该怎么办 考试考差了怎么办 没考上理想高中怎么办 我是差学生中考怎么办 衬衫后背鼓起来怎么办 高考体检表没了怎么办 高考体检视力不合格怎么办 高考体检转氨酶高怎么办 高考体检肝功能异常怎么办 高考体检有乙肝怎么办 高考体检有纹身怎么办 学校体检血压高怎么办 高考体检不属实怎么办 艺考身上有花臂怎么办 义务兵因病致残怎么办 新兵练成绩优秀怎么办 阿提拉部队得了瘟疫怎么办 公安体能测评胖子怎么办 社区工作者笔试不及格怎么办 警察考核体能差怎么办