git使用系列(1)-使用SSH密钥连接Github【图文教程】

前言

早在我搭建我的博客的时候就想写一些关于git的使用方法,但是一直没时间,今天分享的也是从网上转载下来的使用SSH密钥连接Github【图文教程】,当然我主要做的对其进行整理了一下。

使用Github,也许大家觉得比较麻烦的就是在每次push的时候,都需要输入用户名和密码。如果使用SSH,就可以记住用户名,并创建属于自己的密码来保证安全操作,还有神奇的一招可以“不用输入密码”哦。下面将介绍如何创建SSH Keys并将公钥加到GitHub账户中,使用SSH Keys在本机和GitHub之间建立一个安全的连接。

一、Windows环境下生成SSH key且连接GitHub

第一步、看看是否存在SSH密钥(keys)

首先,我们需要看看是否看看本机是否存在SSH keys,打开Git Bash,并运行:

$cd ~/.ssh#

检查你本机用户home目录下是否存在.ssh目录

如果,不存在此目录,则进行第二步操作,否则,你本机已经存在ssh公钥和私钥,可以略过第二步,直接进入第三步操作。

第二步、创建一对新的SSH密钥(keys)

输入如下命令:

$ssh-keygen -t rsa -C "your_email@example.com"
#这将按照你提供的邮箱地址,创建一对密钥
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/you/.ssh/id_rsa): [Press enter]

直接回车,则将密钥按默认文件进行存储。此时也可以输入特定的文件名,比如/c/Users/you/.ssh/github_rsa,当然一般情况下我们也不会做修改

接着,根据提示,你需要输入密码和确认密码(说到这里,如果你很放心,其实可以不用密码,就是到输密码的地方,都直接回车,所以每次push就只管回车就行了。所谓的最安全的密码,就是没有密码 – – 哈哈)。相关提示如下:

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

输入完成之后,屏幕会显示如下信息:

Your identification has been saved in /c/Users/you/.ssh/id_rsa.
Your public key has been saved in /c/Users/you/.ssh/id_rsa.pub.
The key fingerprint is:
01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db your_email@example.com

第三步、在GitHub账户中添加你的公钥

运行如下命令,将公钥的内容复制到系统粘贴板(clipboard)中。

clip < ~/.ssh/id_rsa.pub

或者你习惯使用ctrl+c与ctrl+v的话,那么你可以使用gedit命令

gedit ~/.ssh/id_rsa.pub
  • 登陆GitHub,进入你的Account Settings.

  • 在左边菜单,点击”SSH Keys”.

  • 点击”Add SSH key”按钮.

  • 粘贴你的密钥到key输入框中.

  • 点击”Add Key”按钮。

  • 再弹出窗口,输入你的GitHub密码,点击确认按钮。

  • 到此,大功告成了!

第四步、测试

为了确认我们可以通过SSH连接GitHub,我们输入下面命令。输入后,会要求我们提供验证密码,输入之前创建的密码就ok了。

$ssh -T git@github.com

你可能会看到告警信息,如下:

The authenticity of host 'github.com (207.97.227.239)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)?

不用担心,直接输入yes。

如果看到下面信息,就说明一切完美!

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

二、Mac环境下生成SSH key且连接GitHub

第一步、看看是否存在SSH密钥(keys)

首先,我们需要看看是否看看本机是否存在SSH keys,打开终端(Terminal),并运行:

$cd ~/.ssh
# 检查你本机用户home目录下是否存在.ssh目录

如果,不存在此目录,则进行第二步操作,否则,你本机已经存在ssh公钥和私钥,可以略过第二步,直接进入第三步操作。

第二步、创建一对新的SSH密钥(keys)

输入如下命令:

$ssh-keygen -t rsa -C "your_email@example.com"
#这将按照你提供的邮箱地址,创建一对密钥
Generating public/private rsa key pair.
Enter file in which to save the key (/Users/you/.ssh/id_rsa): [Press enter]

直接回车,则将密钥按默认文件进行存储。此时也可以输入特定的文件名,比如/Users/you/.ssh/github_rsa

接着,根据提示,你需要输入密码和确认密码。相关提示如下:

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

输入完成之后,屏幕会显示如下信息:

Your identification has been saved in /Users/you/.ssh/id_rsa.
Your public key has been saved in /Users/you/.ssh/id_rsa.pub.
The key fingerprint is:
01:0f:f4:3b:ca:85:d6:17:a1:7d:f0:68:9d:f0:a2:db your_email@example.com

第三步、在GitHub账户中添加你的公钥

跟上面的一样

第四步、测试

为了确认我们可以通过SSH连接GitHub,我们输入下面命令。输入后,会要求我们提供验证密码,输入之前创建的密码就ok了。

$ ssh -T git@github.com

你可能会看到告警信息,如下:

The authenticity of host 'github.com (207.97.227.239)' can't be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)?

不用担心,直接输入yes。

如果看到下面信息,就说明一切完美!

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

【注意】

如果前面没有将生成的密钥存放在默认的文件id_rsa中(而是my_rsa中),那么ssh -T git@github.com命令就需要添加参数来执行。如下:

$ ssh -T -i my_rsa git@github.com

三、单机如何控制不同的SSH Keys连不同的Git环境?

其实,一套SSH密钥是可以用在不同的SSH环境的.

但是如果由于某种要求,需要用不同的SSH密钥连接不同的Git环境。假设具体场景是,已经建了密钥github_rsa,还需要创建work_rsa连接工作环境git仓库,那么,可以按下面操作进行:

  1. 创建另一对密钥work_rsa.

    $ssh-keygen -t rsa -C “work@mail.com”

    保存密钥为work_rsa

  2. 添加新身份信息

    $ssh-add ~/.ssh/work_rsa

  3. 配置.ssh/config

我们需要通过Host别名,将不同的账号区分开来。

Host me.github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/github_rsa

Host work.comp.com
HostName comp.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/work_rsa

参考文档:GitHub官方文档Generating SSH Keys

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
使用SSH密钥连接GitHub,请按照以下步骤操作: 1. 首先,请确保您已经在GitHub帐户中添加了SSH密钥。如果您还没有添加,请打开GitHub的“Settings”页面,然后选择“SSH and GPG keys”选项卡。接下来,单击“New SSH key”按钮,并将您的公钥复制到指定的文本框中。 2. 然后,在您的本地计算机上打开终端,并输入以下命令: ``` ssh-keygen -t rsa -b 4096 -C "your_email@example.com" ``` 注意,将“your_email@example.com”替换为您的电子邮件地址。 3. 按下Enter键后,您将被提示输入要在其中保存密钥的文件路径。默认情况下,密钥将被保存在“C:\Users\your_username\.ssh”目录中,并将使用默认文件名“id_rsa”。 4. 您可以按Enter键接受默认文件路径和文件名,或者输入自定义文件名。 5. 接下来,您将被提示输入密码短语。这是可选的,但如果您想进一步保护您的密钥,则可以输入密码短语。请注意,您必须在将来每次使用密钥时都输入此密码短语。 6. 现在,您已经成功生成了SSH密钥。您可以在指定的目录中找到它。 7. 接下来,将您的公钥添加到GitHub帐户中。您可以打开公钥文件(默认为“id_rsa.pub”),并将内容复制到GitHubSSH密钥设置中。 8. 最后,在终端中输入以下命令: ``` ssh -T git@github.com ``` 这将测试您的SSH连接并显示您的GitHub用户名。如果一切正常,您应该能够看到欢迎消息,并且您的SSH连接已成功。 现在,您已经可以使用SSH连接GitHub,并可以在本地计算机上克隆、推送和拉取存储库。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值