关于Hexo部署文章时出现的问题-SSH

前言

想必使用github和hexo搭建博客的同学们或多或少的都会遇到一些让自己抓头的报错信息。最近我就遇到了两次关于权限问题的报错,所以写这篇文章也是让自己涨涨记性吧

问题描述

我遇到的权限问题是这样的
首先我是之前有设置SSH的 ,并且使用github客户端和github上都可以正常使用,唯独是当我想在Hexo上发布文章时会出现下面的状况,真真的是使我几天都百思不得其解啊。

Permission denied (publickey).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.

大致的意思是说:没有权限,无法读取远程仓库。请确保你有正确的访问权限或者确认仓库的存在。

解决方案

在网上找到了好几种解决方案,我在这里想推荐的是一种我认为最简单粗暴的方法——直接删除已有的SSH文件然后重新设置并添加到github上。

具体操作

打开终端,输入:

ls -al ~/.ssh
这个命令会列出你SSH账户里现存的SSH key,当然如果你之前就没有设置过那么就是空的。因为我之前是设置过的所以会罗列出之前设置的SSH。

在文件夹中找到.SSH文件并删除

再次打开终端,先重复第一步检查是否删除了,然后开始重新设置

生成密匙

  • 输入:
    ssh-keygen -t rsa -C "你的邮箱地址"
    这个命令会生成一个以你的邮箱为标签的SSH key .
  • 然后bash会显示:
    Generating public/private rsa key pair. Enter file in which to save the key (/c/Users/you/.ssh/id_rsa):
  • 直接回车,然后出现:
    Enter passphrase (empty for no passphrase):
    如果你不怕麻烦可以设置一个,但我的建议是不要设置,简化操作。
  • 直接回车,然后出现:
    Enter same passphrase again:
    再次回车即可。此时你会看到:

Your identification has been saved in ~/.ssh/id_rsa.
Your public key has been saved in ~/.ssh/id_rsa.pub.
The key fingerprint is:
......你的邮箱地址```

加入Agent

  • 输入:
    ssh-agent -s
  • 当出现:
    Agent pid =XXX
  • 之后再输入:
    ssh-add ~/.ssh/id_rsa

到此为止,在本地我们就成功生成了一个新的SSH key.

将SSH key 添加到GitHub

  • 打开自己的GitHub,点击自己头像找到倒数第二项的settings,然后找到侧栏上SSH and GPG keys .
  • 点击new SSH
  • 复制id_rsa.pub中的所有内容到Key框中,在Title框中输入方便自己记忆的名字。

当网页显示添加成功后,就已经完成了全部的操作。

最后

RSA key fingerprint is ......
Are you sure you want to continue connecting (yes/no)?```

  • 输入yes 会出现如下提示:

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

如果成功看见此提示,说明你已经配置好了

如果您有什么更好的解决方案还劳烦告知我

你可能感兴趣的:(关于Hexo部署文章时出现的问题-SSH)