Git关联远程仓库可以使用https协议或者ssh协议。

【特点/优缺点】

ssh:

一般使用22端口;

通过先在本地生成SSH密钥对再把公钥上传到服务器;

速度较慢点

https:

一般使用443端口;

通过用户名/密码授权,可用性比较高;

速度较快点

一般企业防火墙会打开80和443这两个http/https协议的端口,因此在架设了企业防火墙的时候使用https就可以很好的绕开安全限制使用git了,很方便;而对于ssh来说,企业防火墙很可能没打开22端口。

【使用区别】

clone项目:

  使用ssh方式时,需要配置ssh key,即要将生成的SSH密钥对的公钥上传至服务器;

  使用https方式时,没有要求,可以直接克隆下来。

push项目:

  使用ssh方式时,不需要验证用户名和密码,之前配置过ssh key,(如果你没设置密码)直接push即可;

  使用https方式时,需要验证用户名和密码。

【总结】

HTTPS利于匿名访问,适合开源项目,可以方便被别人克隆和读取(但没有push权限);

SSH不利于匿名访问,比较适合内部项目,只要配置了SSH公钥极可自由实现clone和push操作。

鉴于公司突然由Git仓库由HTTPS切换成ssh秘钥连接,做一些该方面的博客整理。

1、生成密钥对

2、设置远程仓库上的公钥

3、把git的 remote url 修改为git协议(以上两个步骤初次设置过以后,以后使用都不需要再次设置,此步骤视以后项目的remote url而定,如果以后其他项目的协议为https则需要此步骤)

1、生成密钥对

$ ssh-keygen -t rsa -C "your_email@youremail.com"

1 Generating public/private rsa key pair.

2 Enter file in which to save the key (/home/you/.ssh/id_rsa):

3 Created directory '/c/Users/Administrator/.ssh'.

4 Enter passphrase (empty for no passphrase):

5 Enter same passphrase again:

第2条:秘钥存储的位置,建议不要修改位置

第4/5条:秘钥口令密码,建议不设置,直接回车

注:若之前设置有ssh公钥,找不到的话,直接覆盖掉即可

查看已有秘钥:上面创建时有提示秘钥位置,找到文件id_rsa.pub,用编辑器打开,复制出公钥

2、设置远程仓库上的公钥

在远程仓库中,右上角头像-设置-SSH公钥,把公钥粘贴到输入框中,设置公钥有效期,然后点击添加公钥

测试SSH连接

GitHub

$ ssh -T git@github.com(填写自己仓库的SSH连接)

3、把git的 remote url 修改为git协议

$ git remote -v

origin https://github.com/someaccount/someproject.git (fetch)

origin https://github.com/someaccount/someproject.git (push)

复制此ssh连接,然后使用命令** git remote set-url** 来调整你的url

$ git remote set-url origin git@github.com:someaccount/someproject.git

//第一次连接

$ git remote add origin git@gitee.com:qiphon/music-thumb.git

$ git push -u origin master

然后你可以再用命令 git remote -v 查看一下,url是否已经变成了ssh地址

最后验证一下是否成功

$ git pull

——纸上得来终觉浅,绝知此事要躬行——

参考链接1:https://www.cnblogs.com/wannananana/p/12059806.html

参考链接2:https://www.cnblogs.com/wangdapang/p/10181823.html

参考链接3:https://blog.csdn.net/qiphon3650/article/details/79376028

参考链接4:https://www.cnblogs.com/dayang12525/p/12509053.html

Git仓库由HTTPS切换成ssh秘钥连接的更多相关文章

  1. 在windows上使用ssh秘钥连接git服务器

    git部署在centos7上 安装好git后,新建一个用户test(注意要加入git用户组)配置ssh秘钥登录,我的另一篇博客有写配置步骤 重点的地方是在windows系统上使用秘钥登录git服务器 ...

  2. 生成SSH秘钥连接github(详细教程)

    第一步.首先,检查下自己之前有没有已经生成: 在开始菜单中打开git下的git bash(当然,在其他目录下打开git bash也是一样的): 然后执行 cd ~/.ssh 第二步.如果能进入到.ss ...

  3. 【Git 三】生成并添加SSH秘钥

    我们在 Windos 或 Linux 上克隆项目的时候, 如果走的是 http 会让输入 username 和 password,每次都要输入是很麻烦的. 为了省事儿.简单,我们可以选择 ssh 方式 ...

  4. ssh-key 与 git账户配置以及多账户配置,以及通信方式从https切换到ssh

    参考:http://www.cnblogs.com/dubaokun/p/3550870.html 在使用git的时候,git与远程服务器是一般通过ssh传输的(也支持ftp,https),我们在管理 ...

  5. TortoiseGit与GIt生成ssh秘钥添加到github账号的简单方法!简单使用

    今天升级了自己电脑上的git与TortoiseGit,全部换成了最新版,后来不知道怎么的git的秘钥还能使用,可以直接拉取或者提交ssh地址克隆的代码,可是小乌龟客户端就悲剧了 公司的项目有key.p ...

  6. git配置ssh秘钥(公钥以及私钥)linux

    本文默认已经安装git,并有github或者gitlab账号 git在linux下安装参考:https://www.cnblogs.com/lz0925/p/10791147.html 在Linux中 ...

  7. 配置使用 git 秘钥连接 GitHub

    配置使用 git 秘钥连接 GitHub 在Linux下部署Git环境 1.安装Git. 使用命令安装 git . sudo apt-get install git 2.创建一个 Github 账号 ...

  8. github使用ssh秘钥的好处以及设置(转)

    git使用https协议,每次pull,push都要输入密码,使用git协议,使用ssh秘钥,可以省去每次输密码 大概需要三个步骤:一.本地生成密钥对:二.设置github上的公钥:三.修改git的r ...

  9. ssh秘钥交换详解与实现 diffie-hellman-group-exchange-sha

    ssh的DH秘钥交换是一套复合几种算法的秘钥交换算法.在RFC4419中称为diffie-hellman-groupX-exchange-shaX 的算法(也有另一种单纯的 rsaX-shaX 交换算 ...

随机推荐

  1. redis基本操作介绍

    一.字符串 单个设置:set key value,如果key不存在则设置键值对,如果存在则修改 批量设置:mset key1 value1 [key2 value2] 单个获取:get key,如果k ...

  2. VSCode package.json warning: Problems loading reference 'https://json.schemastore.org/package'...

    报错内容 Problems loading reference 'https://json.schemastore.org/package': Unable to load schema from ' ...

  3. 项目管理--PMBOK 读书笔记(4)【项目整合管理】

    项目整合管理:包括对隶属于项目管理过程组的各种过程和项目管理活动进行识别.定义.组合.统一和协调的各个过程. 项目整合管理的核心概念: 1.确保产品.服务或成果的交付日期,项目生命周期以及效益管理计划 ...

  4. PHP uksort() 函数

    ------------恢复内容开始------------ 实例 使用用户自定义的比较函数对数组 $arr 中的元素按键名进行排序: <?phpfunction my_sort($a,$b){ ...

  5. MediaStreamConstraints对象

    MediaStreamConstraints对象作用是在调用getUserMedia()时用于指定应在返回的MediaStream中包括哪些轨道,以及(可选)为这些轨道的设置约束. 属性 audio布 ...

  6. 牛客练习赛63 C 牛牛的揠苗助长 主席树 二分 中位数

    LINK:牛牛的揠苗助长 题目很水 不过做法很多 想到一个近乎O(n)的做法 不过感觉假了 最后决定莽一个主席树 当然 平衡树也行. 容易想到 答案为ans天 那么一些点的有效增长项数为 ans%n. ...

  7. windows:根据特征码查找内核任意函数

    在windows平台做逆向.外挂等,经常需要调用很多未导出的内核函数,怎么方便.快速查找了?可以先用IDA等工具查看硬编码,再根据硬编码定位到需要调用的函数.整个思路大致如下: 1.先查找目标模块   ...

  8. synchronized的锁升级/锁膨胀

    偏向锁 偏向第一个拿到锁的线程. 即第一个拿到锁的线程,锁会在对象头 Mark Word 中通过 CAS 记录该线程 ID,该线程以后每次拿锁时都不需要进行 CAS(指轻量级锁). 如果该线程正在执行 ...

  9. .Net Core中简单使用MongoDB

    MongoDB 是由C++语言编写的,是一个基于分布式且面向文档存储的开源数据库系统. 下载地址: https://www.mongodb.com/download-center/community ...

  10. 精讲RestTemplate第2篇-多种底层HTTP客户端类库的切换

    本文是精讲RestTemplate第2篇,前篇的blog访问地址如下: 精讲RestTemplate第1篇-在Spring或非Spring环境下如何使用 RestTemplate只是对其他的HTTP客 ...