Git教程 SSH keys配置[通俗易懂]

SSH为SecureShell的缩写,由IETF的网络小组(NetworkWorkingGroup)所制定;SSH为建立在应用层基础上的安全协议。在管理Git项目上,有两种克隆到本地的方法。直接使用httpsurl克隆到本地使用SSHurl克隆到本地  这两种方式的主要区别在于:使用httpsurl克隆对初学者来说会比较方便,复制http…

大家好,又见面了,我是你们的朋友全栈君。

SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定;SSH 为建立在应用层基础上的安全协议。

这个不止适用于github。像gitee、coding等等都可以用。

在管理Git项目上,有两种克隆到本地的方法。

  • 直接使用https url克隆到本地
  • 使用SSH url克隆到本地

这两种方式的主要区别在于:

  • 使用https url对初学者来说会比较方便,复制https url然后到git Bash里面直接用clone命令克隆到本地就好了,但是每次fetch和push代码都需要输入账号和密码,这也是https方式的麻烦之处。
  • 使用SSH url需要在只用之前先配置和添加好SSH key。每次fetch和push代码都不需要输入账号和密码,如果你想要每次都输入账号密码才能进行fetch和push也可以另外进行设置。

1.检查你电脑上是否有SSH Key

~/.ssh 或者用~/.ssh ls

上边这行命令的作用是看一哈你的电脑上有没有.ssh文件夹。

  • 如果电脑上有,就会显示bash: /c/Users/…/.ssh: Is a directory
  • 如果电脑上没有,那就显示bash: /c/Users/…/.ssh: No such file or directory

在这里插入图片描述
在这里插入图片描述

2.创建SSH Key

如果你电脑上有了,你就可以直接跳过这一步

在Git Bash中输入
$ ssh-keygen -t rsa -C "你的邮箱"
在这里插入图片描述

然后就会显示这两行:
Generating public/private rsa key pair.
Enter file in which to save the key (/c/Users/16627/.ssh/id_rsa):

这是让你输入一个文件名,用于保存刚才生成的 SSH key 代码。为了避免麻烦,不用输入,直接回车,那么就会默认生成id_rsa和id_rsa.pub两个秘钥文件。
这时候已经创建好.ssh这个文件夹了,会提示:
Created directory ‘/c/Users/16627/.ssh’.
紧接着又会问你:
Enter passphrase (empty for no passphrase):
就是让你输入密码,如果你设置了密码,那在你使用ssh传输文件的时候,你就要输入这个密码。为了避免麻烦,建议不用设置,直接回车。
Enter same passphrase again:
这就是让你再输入一次密码,就跟我们注册账号时候设置密码需要设置两次一样。上一步没设置密码,这里直接回车就可以了。到这里你的秘钥就设置好了,你会收到这段代码提示:
Your identification has been saved in /c/Users/…/.ssh/id_rsa
Your public key has been saved in /c/Users/…/.ssh/id_rsa.pub

还会向你展示你的秘钥长啥样
在这里插入图片描述
当你看到上面这段代码,那就说明你的 SSH key 已经创建成功,你可以再使用~/.ssh看一下,现在文件是真的存在了。
在这里插入图片描述


3.添加SSH Key到GitHub

首先打开Github网页
这里写图片描述
这里写图片描述
(黄色框框是我已经建立的SSH key。)
点击右上角新建一个SSH Key。
这里写图片描述
title随便给他起个名字就好。然后是key,这时候你要打开你刚才在电脑上的SSH key。
还记得这一步吗:
在这里插入图片描述
按照红框框里的路径,找到.ssh文件夹。用记事本打开id_rsa.pub文件,全选其中的内容粘贴到网页的Key中。
这里写图片描述

然后你就会受到建立成功的邮件了。
这里写图片描述


4.测试一下该SSH key

在git Bash 中输入以下代码
$ ssh -T git@github.com
注意是git@github.com,不是你的邮箱。

然后会提示你:
The authenticity of host ‘github.com (13.229.188.59)’ can’t be established.
RSA key fingerprint is SHA256:nThbg6kXUp…

Are you sure you want to continue connecting (yes/no/[fingerprint])?
输入yes,回车
在这里插入图片描述

接下来就会提示你输入密码,如果上边设置ssh的时候,你没设置密码会提示你:
Warning: Permanently added ‘github.com,192.30.255.112’ (RSA) to the list of known hosts.
警告完了,如果你能看到如下提示,那你已经成功设置SSH密钥。
Hi “用户名”! You’ve successfully authenticated, but GitHub does not provide shell access.
如果你看到 access denied,者表示拒绝访问,那么你就需要使用 https 去访问。

官方ssh帮助页面(英文版)


我是萝莉安,是个小垃圾。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/128383.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JAVA设计模式之享元模式

    解释一下概念:也就是说在一个系统中如果有多个相同的对象,那么只共享一份就可以了,不必每个都去实例化一个对象。比如说一个文本系统,每个字母定一个对象,那么大小写字母一共就是52个,那么就要定义52个对象。如果有一个1M的文本,那么字母是何其的多,如果每个字母都定义一个对象那么内存早就爆了。那么如果要是每个字母都共享一个对象,那么就大大节约了资源。  在Flyweight模式中,由于要产生各种各样

    2022年3月11日
  • Mac 电脑连上 wifi 却打不开网页的解决办法

    Mac 电脑连上 wifi 却打不开网页的解决办法系统偏好设置–>网络–>高级–>代理–>取消代理☑️

    2022年6月22日
  • 如何利用Python和win32编程避免重复性体力劳动(一)——开始、FindWindow和FindWindowEx

    如何利用Python和win32编程避免重复性体力劳动(一)——开始、FindWindow和FindWindowEx本系列文章假设各位看官对python是足够熟悉的,但却不太了解win32编程。嘛。。其实我也没学过win32编程,脸请各位看官随意招呼。需求:最近因为做课题,要把800个FaceGen软件生成的三维面孔保存成图片,以后不排除每一张面孔还要生成某个特质上连续变化的图片。FaceGen以抽取面孔的特征向量来构建面孔,所以保存的文件相当精简,只需要300字节就能无损保存面孔的全部信息。一般的三维

    2022年5月31日
  • 解决Python扩展: Unable to find vcvarsall.bat[通俗易懂]

    解决Python扩展: Unable to find vcvarsall.bat[通俗易懂]安装mingw,以我的安装为例:我的mingw安装在C:\MinGW,python安装在C:\Python26然后将以下目录加入系统环境变量C:\MinGW\bin;C:\MinGW\msys\1.0;C:\MinGW\mingw32;C:\MinGW\mingw32\bin;C:\MinGW\msys\1.0\bin然后在目录C:\Python26\Lib\di…

    2022年5月29日
  • 虚拟存储技术的概念及特点[通俗易懂]

    虚拟存储技术的概念及特点[通俗易懂]一、虚拟存储的概念    所谓虚拟存储,就是把多个存储介质模块(如硬盘、RAID)通过一定的手段集中管理起来,所有的存储模块在一个存储池(Storage Pool)中得到统一管理,从主机和工作站的角度,看到就不是多个硬盘,而是一个分区或者卷,就好象是一个超大容量(如1T以上)的硬盘。这种可以将多种、多个存储设备统一管理起来,为使用者提供大容量、高数据传输性能的存储系统,就称之为虚拟存储。

    2022年9月26日
  • PO模式(Page Object Model)

    PO模式(Page Object Model)使用BDD框架后,在Framework层再使用线性脚本的方式明显是不适用的。

    2022年6月4日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号