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.

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

您通常使用 SSH 密钥来访问 GitHub 存储库,而不是输入用户名和密码,也就是免密码登录。这是与远程 GitHub 服务器通信的一种更安全、更推荐的方式。

有时候你有不止一个 GitHub 账户。例如,一个用于访问个人存储库,另一个用于您的日常工作。

问题是本地 Git 如何重新授权 GitHub 帐户附带的存储库。本文可能对您有所帮助。

假设 foo 和 bar 是您希望在同一台计算机中使用的两个 GitHub 用户名。您可以按照 官方的 GitHub 指南生成 SSH 密钥 。

当要求您指定要保存密钥的文件时,不要使用默认密钥。将文件名更改为与帐户关联的名称,例如:

对 bar 帐户重复相同的步骤。现在,我们有两个私钥, id_foo 和 id_bar 位于 ~/.ssh 文件夹中。

这一步让 SSH 知道应该为特定主机使用哪个私钥。

将以下内容添加到 config 文件:

您会发现, github.com-foo 和 github.com-bar 看起来是无效的主机,但实际上它们被视为别名。SSH 使用 HostName 选项对其进行映射,并在 IdentityFile 选项中使用私钥。

假设 foo 帐户访问一个 GitHub respose,其 URL 为 github.com/foo/a-foo-repos 。转到其克隆文件夹,并更改 .git/config 文件,如下所示。

值得注意的是,使用了在上一步中创建的 SSH 主机 github.com-foo :

为 bar 存储库应用类似的设置。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存