使用ssh连接远程仓库的方法

但是当我登录虚拟机想提交csapp的代码时,我发现需要验证我的账号密码,感觉每次提交都要输入这个很麻烦。然后就在网上查询了下为何提交代码需要输入账号密码。

使用 HTTPS 方式拉取代码需要验证账号密码的原因是因为 HTTPS 是基于用户名和密码的认证方式。每次使用 HTTPS 协议拉取或推送代码时,都需要提供 GitHub 账号的用户名和密码进行身份验证。

而使用 SSH 连接的方式则不需要每次都验证密码,这是因为 SSH 使用公钥和私钥对进行身份验证。在使用 SSH 连接时,你生成的 SSH 密钥对中的私钥存储在本地计算机,而公钥已经上传到了 GitHub 服务器。当你进行 SSH 连接时,GitHub 会使用你本地私钥对请求进行签名,然后将签名发送到 GitHub 服务器,GitHub 服务器使用你的公钥进行验证,如果验证通过则连接建立,无需输入密码。

git remote -v查看远程仓库,并且根据输出结果判断与github连接方式:

如果使用的是 HTTPS 连接,则远程仓库 URL 会以 https://github.com/username/repository.git 的形式显示,其中 username 是你的 GitHub 用户名,repository 是你的仓库名称。

如果使用的是 SSH 连接,则远程仓库 URL 会以 git@github.com:username/repository.git 的形式显示,同样 username 是你的 GitHub 用户名,repository 是你的仓库名称。

我这里一开始就是https://github.com/username/repository.git的形式,所以需要将其转换为ssh的连接方式。

修改步骤:

  1. 生成SSH密钥对: 如果你还没有生成 SSH 密钥对,首先需要在本地计算机上生成。打开终端或命令行界面,然后输入以下命令生成密钥对:

    bashCopy code
    ssh-keygen -t rsa -b 4096 -C "your_email@example.com"

    替换 "your_email@example.com" 为你在 GitHub 上注册的邮箱地址。按照提示完成密钥生成过程,可以选择是否设置密码保护私钥。

  2. 添加SSH公钥到GitHub: 生成密钥对后,打开生成的公钥文件(通常位于 ~/.ssh/id_rsa.pub),复制公钥内容。

  3. 登录到 GitHub,进入个人设置中的 "SSH and GPG keys" 页面(路径为 Settings -> SSH and GPG keys -> New SSH key)。

  4. 点击 "New SSH key" 按钮,粘贴复制的公钥内容到 "Key" 输入框中,并为密钥起一个可识别的标题。

  5. 点击 "Add SSH key" 按钮,将公钥添加到你的 GitHub 账户中。

  6. 验证SSH连接:在本地终端或命令行中,切换到你的项目目录,并执行以下命令来将远程仓库的 URL 从 HTTPS 切换为 SSH 连接:

    bashCopy code
    git remote set-url origin git@github.com:username/repository.git

    username/repository.git 替换为你的 GitHub 用户名和仓库名称。

  7. 尝试推送或拉取代码:现在你可以使用 SSH 连接远程仓库了。尝试执行 git pushgit pull 命令来推送或拉取代码,并根据需要输入你的 SSH 密钥密码(如果设置了的话)。

简单记录下从发现问题到解决问题的过程,用时1h。

使用ssh连接远程仓库的方法(github)的更多相关文章

  1. ubuntu使用ssh连接远程电脑的方法

    目前,大多数linux distributions都预先安装了ssh的客户端,即可以连接别人的电脑.但也有例外的情况,所以,下面先把ssh的客户端与服务端的安装一并讲了吧. ssh客户端及服务端的安装 ...

  2. Git复习(二)之远程仓库、注册GitHub账号、SSH警告、使用GitHub

    远程仓库 Git是分布式版本控制系统,同一个Git仓库,可以分布到不同的机器上.怎么分布呢?最早,肯定只有一台机器有一个原始版本库,此后,别的机器可以“克隆”这个原始版本库,而且每台机器的版本库其实都 ...

  3. git多分支-git远程仓库-ssh方式连接远程仓库-协同开发-冲突解决-线上分支合并-远程仓库回滚

    目录 git多分支-git远程仓库-ssh方式连接远程仓库-协同开发-冲突解决-线上分支合并-远程仓库回滚 昨日内容回顾 今日内容概要 今日内容详细 1 git多分支 2 git远程仓库 3 ssh方 ...

  4. 【sourcetree】sourcetree连接远程仓库需要登陆但是一直登陆不上的问题 解决方法

    授权类型选用 基础 .只需要登陆你在bitbucket的用户名和密码 如下 .即可成功连接远程仓库

  5. git连接远程仓库

    1. 连接远程仓库 1.1. 创建仓库 在连接远程仓库之前,得先要确定你有一个远程仓库,到GitHub官网搞一个账户. 点右上角的加号然后"New repository"输入一个仓 ...

  6. Mac下ssh连接远程服务器时自动断开问题

    在mac下使用securecrt通过ssh连接远程服务器时,总会一段时间没有动作后,ssh被自动断开.在windows下用xmanager貌似没有遇到过这个问题. 在网上找了解决方法如下: 客户端配置 ...

  7. [转]学习win10的bash使用ssh连接远程服务器

    1. 前言 微软已经在Win10一周年更新预览版中加入了Ubuntu Bash命令支持,相当于一个小型的linux系统,本来连接远程服务器的话,要使用putty啥的,现在可以用这个直接连接,我来讲讲步 ...

  8. git连接远程仓库时,出现“ Repository not found"的解决办法

    2018-08-25 今天连接远程仓库时,出现: 原来是远程仓库地址名字错了. 解决方法: 1.找到.git目录 2.进入.git找到config文件 3.修改config里面的远程地址url

  9. Git常用命令+本地连接远程仓库

    一.git命令整理 git config --global user.email "邮箱名":绑定GitHub邮箱 git config --global user.name &q ...

  10. git的介绍、git的功能特性、git工作流程、git 过滤文件、git多分支管理、远程仓库、把路飞项目传到远程仓库(非空的)、ssh链接远程仓库,协同开发

    Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效.高速地处理从很小到非常大的项目版本管理. [1] 也是Linus Torvalds为了帮助管理Linux内核开发而开发的一个开放源码 ...

随机推荐

  1. Python基于Excel生成矢量图层及属性表信息:ArcPy

      本文介绍基于Python中ArcPy模块,读取Excel表格数据并生成带有属性表的矢量要素图层,同时配置该图层的坐标系的方法. 1 任务需求   首先,我们来明确一下本文所需实现的需求.   现有 ...

  2. 记录--Vue中前端导出word文件

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 很多时候在工作中会碰到完全由前端导出word文件的需求,因此特地记录一下比较常用的几种方式. 一.提供一个word模板 该方法提供一个wo ...

  3. 记录--让URL地址都变成了"ooooooooo"

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 发现一个很有创意的小工具网站,如封面图所示功能很简单,就是将一个URL地址转换为都是 ooooooooo 的样子,通过转换后的地址访问可以 ...

  4. 记录--关于无感刷新Token,我是这样子做的

    这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 什么是JWT JWT是全称是JSON WEB TOKEN,是一个开放标准,用于将各方数据信息作为JSON格式进行对象传递,可以对数据进行可 ...

  5. ZYNQ7000系列学习之TF卡读写(2)

    ZYNQ读写实验(2) 1.实验原理 在TF卡读写实验1中,已经将每一个步骤都做完了,但是最后得到的结果是错误的.那个时候由于TF没有格式化,显示的是错误信息.在格式化后,再次实验,得到了预期的结果. ...

  6. KingbaseES 与 Oracle XML 语法比较

    KingbaseES 内置支持 XML 相关操作,也可以通过xml2 插件进行扩展支持.以下通过例子介绍 KingbaseES XML 与Oracle 在用法上存在的一些差异. 一.数据准备 crea ...

  7. Go 语言基础:包、函数、语句和注释解析

    一个 Go 文件包含以下几个部分: 包声明 导入包 函数 语句和表达式 看下面的代码,更好地理解它: 例子 package main import "fmt" func main( ...

  8. Qt 实现涂鸦板二:实现放大功能

    在一的基础上改造: .h 文件 #pragma once #include <QtWidgets/QWidget> #include "ui_xuexi.h" #inc ...

  9. Leetcode-最小覆盖子串

    题目描述 给你一个字符串 s .一个字符串 t .返回 s 中涵盖 t 所有字符的最小子串.如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 "" . 注意:如果 s 中 ...

  10. 美丽的夕阳qsnctfwp

    题目附件 查看图片,放大左侧发现建筑物上 8 个字:龙腾公寓/福阳集团 根据文字在搜索引擎中查找,并由此确定城市 通过百度地图全景地图查看当地桥梁,并与照片比对 调整地图比例尺,记录桥名 根据提示qs ...