Github配置 SSH Key步骤

这篇具有很好参考价值的文章主要介绍了Github配置 SSH Key步骤。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、HTTPS和SSH的区别

1、HTTPS的定义

HTTPS是一种网络通信协议,全称为“Hyper Text Transfer Protocol Secure”,即“安全的超文本传输协议”。它基于HTTP协议,通过SSL/TLS等安全协议实现的加密和身份验证,保障了数据传输过程的安全性。

以HTTP为例,当客户端向服务器发送请求时,整个请求报文以明文的形式进行传输,其中包含了用户登录、密码等敏感信息。如果黑客在中间环节截获了这些明文信息,用户的隐私就会暴露。而HTTPS协议则通过对传输的数据进行加密和身份验证,确保数据传输的完整性和保密性。它通过在传输层(TLS/SSL协议)和应用层(HTTP协议)都进行加密来保证数据的安全。

具体来说,HTTPS协议一般使用RSA公钥加密技术和AES对称加密技术。客户端和服务器在首次握手时,服务器会发送自己的公钥给客户端,客户端用公钥加密后将会发送给服务器进行验证,验证通过后便生成一个会话密钥,再用该密钥加密后发送给服务器,服务器知道会话密钥后再进行解密。

HTTPS的主要优点在于它提供了极高的安全性,能够抵御大多数中间人攻击和窃取用户信息的行为。然而,HTTPS也存在一些缺陷,如服务器证书被黑客劫持的问题,并且在加密过程中也增加了一定的网络负担

2、SSH的定义

SSH是一种安全网络协议,其全称为“Secure Shell”。SSH在不安全的网络上为网络服务提供了安全的通信链路。它可以将远程主机上的命令行界面和本地交互式工具进行连接,以便于用户通过安全加密的通信链路在远程主机上执行命令或管理远程主机的内容。

SSH协议使用的是公钥加密技术。在SSH连接中,用户一般会生成一对公钥私钥,将公钥文件放置于远程主机上,私钥则用于进行身份验证。当用户访问远程主机时,远程主机会将其公钥发送给客户机,客户机用该公钥加密自己的身份信息,并传输给远程主机。远程主机用私钥解密后便可确保通信的安全性。

SSH的主要优点在于安全性强、灵活性高、支持远程命令执行和文件传输等功能丰富,常被用于系统管理、软件开发、数据中心等领域。它比其他远程管理协议如Telnet更加安全,避免了在网络中传递明文密码的风险。

3、两者的区别

(1)用途不同


HTTPS协议一般用于Web浏览器和Web服务器的通信,而SSH主要用于安全地访问、管理远程计算机和服务器、传递文件等等。

(2)实现方式不同


HTTPS采用的是HTTP协议和SSL/TLS等安全协议的结合,即在传输层(TLS/SSL协议)和应用层(HTTP协议)都进行加密,而SSH则是一种端到端的加密协议,不依赖其他传输协议

(3)加密算法不同


HTTPS协议一般使用RSA公钥加密技术和AES对称加密技术,而SSH协议使用的则是比RSA更为安全的DSS等加密算法。

(4)安全级别不同


虽然HTTPS和SSH协议都是安全性较高的协议,但是SSH比HTTPS更安全,这是因为SSH的密钥交换是完全端对端的加密,避免了中间人攻击的风险,而HTTPS则存在一定的中间人攻击风险。

二、配置SSH密钥背景

通过 SSH 协议进行与 GitHub 的交互,可以提供更方便的身份验证和更快速的推送与拉取操作。它使用密钥进行身份验证,而不需要在每次操作时提供用户名和密码或访问令牌

其实选择使用 HTTPS 还是 SSH 取决于个人偏好和特定的使用场景

  • HTTPS 使用起来更简单,不需要额外的设置,适合一般的个人使用或者不频繁的操作
  • SSH 需要设置密钥,但可以提供更方便的身份验证和更快速的推送与拉取操作,适合频繁与远程仓库交互的开发者或团队

我们这里选择使用SSH。

三、配置步骤

在github账号下配置ssh key的步骤:

  • 使用秘钥生成工具生成rsa秘钥和公钥
  • 将rsa公钥添加到代码托管平台
  • 将rsa秘钥添加到ssh-agent中,为ssh client指定使用的秘钥文件

这里以在 Github 配置 SSH keys 为例

1、 检查是否已经有 SSH-Key

右键打开Git bash,进入 ~/.ssh 目录,通过 ls 命令看看当前电脑上存不存在 SSH-Key 的相关文件,如果显示 id_rsa 和 id_rsa.pub 文件,说明已经有SSH Key了;如果没有,那么根据步骤2生成一个

$ cd ~/.ssh
$ ls

2、 生成一个SSH-Key

如果不存在ssh key,使用如下命令生成,执行后一直回车即可,生成完以后再用第一步命令,查看ssh key

ssh-keygen -t rsa -C "xxx@xxx.com"

3、获取ssh key公钥内容

如下图所示,直接复制内容

cd ~/.ssh
cat id_rsa.pub

github sshkey,工具,github,ssh,运维

4、Github账号上添加公钥

在 Github 个人的设置页,点击 “New SSH Key” ,取个名字,把上一步获取到的 SSH Key 拷贝进去

github sshkey,工具,github,ssh,运维

github sshkey,工具,github,ssh,运维

5、验证是否设置成功

设置成功后,即可不需要账号密码clone和push代码

ssh -T git@github.com

github sshkey,工具,github,ssh,运维

若出现上图中连接失败的情况,即新生成密钥,git clone或者push的时候,经常会报这样的错误,这是因为少了一个known_hosts文件,本来密钥文件应该是三个,现在是两个,便报了这样的错误,此时选择yes回车之后,便可,同时生成了缺少了的known_hosts文件

Are you sure you want to continue connecting (yes/no/[fingerprint])? //输入yes,再回车

github sshkey,工具,github,ssh,运维

注意:之后在clone仓库的时候要使用ssh的url,而不是https文章来源地址https://www.toymoban.com/news/detail-838626.html

到了这里,关于Github配置 SSH Key步骤的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Git 配置SSH,多个 Github 账号配置不同的SSH KEY

    首先做个说明 生成一对默认的私钥公钥,私钥自己客户端留着用,公钥可以给多个平台用。 多对私钥公钥,主要是应对一个平台多个账号的情况。当然你想每个平台使用不同的私钥公钥也是可以的。 多次生成私钥公钥需要自己重新命名,否则会覆盖之前的。 一、查看是否已

    2024年02月07日
    浏览(54)
  • Win10 环境配置 Github SSH Key

    使用 Git 关联远程仓库通常可以使用 HTTP 协议或者 SSH 协议,在使用上 SSH 只需要一次配置,之后 提交操作 都不需要进行用户密码验证;但是 HTTP 方式每次 Push 操作都需要验证用户名和密码。 当然,HTTP 方式更方便开源,匿名用户可以随意进行克隆和代码阅读;在个人项目使

    2024年02月03日
    浏览(35)
  • Github配置SSH Key,clone验证,远端配置,详细教程

    GitHub 在2021年8月13日停止支持密码身份验证,因此需要使用其他身份验证方式进行克隆操作。最常见的解决方法就是ssh验证 在你的git base上,分别敲入以上指令,设置一下全局配置,名字自己取,邮箱也是你自己的 代码参数含义: -t 指定密钥类型,默认是 rsa ,可以省略。

    2024年02月11日
    浏览(34)
  • 【Git】保姆级详解:Git配置SSH Key(密钥和公钥)到github

    博主简介: 22级计算机科学与技术本科生一枚🌸 博主主页:是瑶瑶子啦 每日一言🌼: “当人们做不到一些事情的时候,他们会对你说你也同样不能。”——《当幸福来敲门》 克里斯加德纳 Git是一个开源的分布式版本控制系统,可以有效、高速的处理从很小到非常大的项目

    2024年02月14日
    浏览(51)
  • gitHub学习之SSH key的设置

    1、打开git bash 2、创建SSH Key 输入指令: ssh-keygen -t rsa -C 你的邮箱 ps:直接输入邮箱,不要带双引号之类的 然后就会显示这两行表示成功了: 紧接着又会问你: Enter passphrase (empty for no passphrase): 就是让你输入密码,如果你设置了密码,那在你使用ssh传输文件的时候,你就要输

    2024年01月22日
    浏览(51)
  • GitHub添加SSH key(code 128问题)

    1、首先需要检查你电脑是否已经有 SSH key  运行 git Bash 客户端,输入如下代码: 这两个命令就是检查是否已经存在 id_ed25519.pub 或 id_dsa.pub 文件,如果文件已经存在,那么你可以跳过步骤2, 直接进入步骤3 。 2、创建一个 SSH key  代码参数含义: -t 指定密钥类型,默认是 rs

    2023年04月14日
    浏览(31)
  • mac本地创建ssh key连接github

    今天克隆自己github上面的笔记到新电脑上,用http连接进行克隆,然后要我输入账号密码,输入完报了个提示“remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.”,说是密码验证于2021年8月13日不再支持,那么就只能用ssh key的方式来连

    2024年02月13日
    浏览(36)
  • 拥有多个github账号时,如何管理多个SSH key?

    目前github已经拒绝通过密码访问私有仓库,只能通过SSH Key。但SSH key不能重复使用,如果有多个github账号的话,就需要多个不同的key。 如果访问一个私有仓库的话,出现如下提示,则说明可能当前的key不正确。那么如何管理多个key就成为一个问题。 下面有两个方案管理多个

    2024年02月12日
    浏览(31)
  • 【github添加ssh的key】ssh: Could not resolve hostname github: Temporary failure in name resolution

    遇到问题 :ssh: Could not resolve hostname github: Temporary failure in name resolution 解决方法 :github添加ssh的key 步骤: ssh-keygen -t rsa -C \\\"你的邮箱地址\\\" #创建ssh key #-t 指定密钥类型,默认rsa ,可省略; #-C 设置注释文字,比如邮箱; #-f 指定密钥文件存储文件名。 接着复制刚刚生成的密钥

    2024年02月07日
    浏览(48)
  • vscode通过ssh连接github仓库(git+ssh+github+vscode详细步骤)

    首先我们先来了解一下什么是 ssh 和 github SSH(Secure Shell)是一种网络协议,用于在不安全的网络中安全地传输数据和执行远程命令。它提供了加密的通信通道,使得数据传输过程中不容易被窃听或篡改。 SSH 使用公钥加密和私钥解密的方式进行身份验证和数据传输。用户生成

    2024年01月25日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包