Github笔记 之设置SSH Key密钥

Github笔记 之设置SSH Key密钥,第1张

Github 链接已有仓库时的认证,是通过使用SSH 的公开密钥认证的。

首先,创建SSH Key ,语法:

$ ssh-keygen -t rsa -C "content neirong"

-t :密钥的类型 

-C : 用于识别密钥的注释

-C 一般大家都写的是Email邮箱

以下小者测试的例子:

$ ssh-keygen -t rsa -C "add wm public ssh"

Generating public/private rsa key pair.

Enter file in which to save the key (/c/Users/xx/.ssh/id_rsa):

Created directory '/c/Users/\351\207\212\345\246\202\347\247\230/.ssh'.

下面是要输入的密码:

Enter passphrase (empty for no passphrase):

Enter same passphrase again:

Your identification has been saved in /c/Users/xx/.ssh/id_rsa

Your public key has been saved in /c/Users/xx/.ssh/id_rsa.pub

The key fingerprint is:

SHA256:NGpvF0aaCWM5LsyZz6uTsqPI1UxEiLI9xCOEXdcIDX4 add wm public ssh

The key's randomart image is:

+---[RSA 3072]----+

|o+..==.o        |

|+.=o..o..        |

|.= ...E o .      |

|. oo.* * *      |

|  .*.+ S o      |

|    += . . .    |

|  . +o o .      |

|o + o  o .      |

|oo.+.o.          |

+----[SHA256]-----+

小者设置的密码是空。

id_rsa 文件是私有密钥,id_rsa.pub是公开密钥。

查看公开密钥的方法:

$ cat ~/.ssh/id_rsa.pub

把本地设置的公开密钥添加至GitHub中。

现在验证一下用手中的私有密钥与GitHub进行认证和通信了。

语法:

$ ssh -T git@github.com

The authenticity of host 'github.com (xx.xx.xx.xx)' can't be established.

RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.

This key is not known by any other names

Are you sure you want to continue connecting (yes/no/[fingerprint])? yes (这里输入yes)

出现以下说明成功通信:

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

若有不当之处,敬请原谅。

通过Ubuntu系统连接git一直不太顺利,总是遇到这样或者那样的问题。今天就把所有的 *** 作总结一下以方便后续的 *** 作。本文主要包括如下的章节:

这里都不再强调SSH Key的作用了,首先SSH的安全性要高于Https。最重要的是有了SSH再也不用每次pull或push输入密码了。下面就介绍如何生成ssh key,主要通过下面的一行命令即可:

这样就ssh key就大功告成了。可以通过下面的命令来查看生成的ssh key

将会看到如下的信息

我们要将这个key的内容复制下来,下面还有用处

通过步骤1生成的ssh key还不能直接与github进行通信,我们需要将ssh key添加到github上才能建立通信,首先打卡github的设置

通过步骤1和2这时我们直接去clone项目时仍然会提示权限不够的如下图:

然后填入下面的内容即可:

上述的User换成自己的邮箱即可,这时我们已经可以从github clone项目了,但是由于限制github clone的速度可能会很慢。这里需要进行下面的设置来提升clone的速度

通过root用户打开下面的配置文件 /etc/proxychains.conf ,并添加如下的内容:

然后保存退出即可,这样就可以快速的clone工程了。

git支持https和git两种传输协议,github分享链接时会有两种协议可选,如果使用https协议,每次pull, push都会提示要输入密码,如果使用git协议,然后使用ssh密钥,这样免去每次都输密码的麻烦。

Git服务器都会选择使用SSH公钥来进行授权。系统中的每个用户都必须提供一个公钥用于授权,没有的话就要生成一个。生成公钥的过程在所有 *** 作系统上都差不多。

1.生成密钥对

如果没有对应的文件,可以用ssh-keygen来创建

然后,会提示你输入密码,如下:

设置好之后,如下

到此为止,你本地的密钥对就生成了。

2.将SSH Key添加到ssh-agent

可以查看ssh-agent中的密钥,检测是否添加成功

还可以从ssh-agent中删除多余的密钥

3.添加公钥到你的远程仓库(如github)

4 验证下新增的key是否有生效

如果看到如下

恭喜你,你的设置已经成功了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11789958.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存