github中添加deploy keys-SSH连接免输密码

Table of Contents

1 github中添加deploy keys-SSH连接免输密码

1.1 作用

SSH验证指当那些需要提交的内容显示完成过后会弹出的一个小窗口提示我们输入用户名、密码。 设置SSH验证后可以免输密码直接提交。

1.2 步骤

1.2.1 生成SSH密钥

在命令行输入以下命令

$ 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 email
Generating 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

1.2.2 设置Github项目中的deploy keys

可以选择是在用户设置中添加密钥(Settings –> SSH GPG keys)还是单个项目中添加密钥

  • 用户中添加密钥会让该帐号下的所有Github项目都免输密码
  • 项目中添加密钥只是让所添加的项目免输密码

在这里以项目中添加密钥为例:

在github项目的首页菜单栏中点击

  1. Settings
  2. Deploy keys
  3. add deploy key

然后将生成的 idrsa.pub 中的内容全选复制到 key 输入框中,然后点击 Add key 完成添加公钥。

1.2.3 测试配置是否成功

$ ssh -T git@github.com

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

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

1.3 [关键]修改连接方式

在Github项目的控制台输出结果中链接仍然是https的连接,修改为SSH连接。