• 百 度
  • 京 东
  • 淘 宝
  • 知 乎
  • Bing
  • Google
  • Yandex
  • Quora
  • GitHub
  • StackOverflow
  • SegmentFault
  • 医 疗

3-hexo使用Git之SSH与HTTPS免密码配置

  1. 前言
  2. SSH通信协议
    1. GitHub版
    2. Git服务器
  3. HTTPS通信协议
    1. 新建文件并保存密码
    2. 添加内容
    3. 添加git配置
    4. 查看~/.gitconfig文件变化

这是 3-hexo 说明文件,转载自 叶落阁:https://yelog.org/2016/12/21/Git-SSH-HTTPS-verify-configuration/

前言

Git作为当前最受欢迎的版本控制软件,使用是很频繁的。
但每次使用git push等操作时都要输入密码,实在是挺麻烦的。
本文对使用ssh与https两种通讯协议讨论一下免密码配置。
注:这个过程在所有操作系统上都是相似的:)

SSH通信协议

GitHub版

许多Git服务器都使用SSH公钥进行认证,当然也包括github。
首先你需要确认一下自己是否已经拥有密钥了,默认情况下,用户的 SSH 密钥存储在其 ~/.ssh 目录下。
进入该目录并列出其中内容,你变可以下快速确认自己是否已经拥有密钥:

$ cd ~/.ssh
$ ls
authorized_keys2  id_rsa       known_hosts
config            id_rsa.pub

我们需要寻找一对 id_rsaid_dsa 命名的文件,其中一个带 .pub 扩展名。
其中 .pub 文件是你的公钥,另一个则是私钥。
如果没有找不到这样的文件( 或者根本就没有 .ssh 目录 ),我们可以通过 ssh-keygen 程序来创建它们。

# 邮箱可以随便填
$ ssh-keygen -t rsa -C "[email protected]"

首先 ssh-keygen 会确认密钥的存储位置和文件名(默认是 .ssh/id_rsa),然后他会要求你输入两次密钥口令,留空即可。
所以一般选用默认,全部回车即可。

接下来我们登陆到 GitHub 上,进入 右上角小头像 -> Setting -> SSH and GPG keys 中,点击 new SSH key
Title:可以随便填写,但最好起的名字能让自己知道这个公钥是哪个设备的。
Key:将上面生成的 .pub 文件中的所有内容复制到这里。
点击下面的 Add SSH key 即可。
然后你就会发现可以免密码访问了

Git服务器

如果服务端是自己搭建的git服务器,生成密钥公钥对的步骤是一样的。
然后将生成的 .pub 文件内容,导入到git服务器 /home/git/.ssh/authorized_keys 文件内,一行一个。
然后你就会发现 git push 不再需要密码了
搭建git服务器和相关免登陆的详细步骤可参考我的另一篇 3-hexo搭建Git服务器

HTTPS通信协议

上面讲了 SSH方式 的免密码,接下来讲一下越来越常用的 HTTPS方式 的免密码

新建文件并保存密码

$ touch ~/.git-credentials
$ vim ~/.git-credentials

添加内容

https://{username}:[email protected]

添加git配置

$ git config --global credential.helper store

查看~/.gitconfig文件变化

[credential]
    helper = store

然后再尝试一下 git push 不再在需要密码了


转载请注明来源。

文章标题:3-hexo使用Git之SSH与HTTPS免密码配置

本文作者:bas369.com

发布时间:2020-07-05, 23:12:00

最后更新:2020-07-05, 23:26:16

原始链接:https://www.bas369.com/more/learning_notes/2020/07/05/3-hexo%E4%BD%BF%E7%94%A8Git%E4%B9%8BSSH%E4%B8%8EHTTPS%E5%85%8D%E5%AF%86%E7%A0%81%E9%85%8D%E7%BD%AE/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。


  • 关于我们
  • 苏公网安备 32132302010228号
  • 联系我们
目录