GitHub如果使用HTTPS方式连接,要一直输入GitHub的账号密码,很麻烦,如果用SSH方式就不需要了

本文就介绍一下如何配置SSH连接,包括生成添加SSH密钥

以及如果GitHub用的SSH密钥密码忘了,或者想去掉密钥的密码,以及更换密钥的方式

1. 先看看本地有没有SSH密钥

  • 打开git bash,输入:
ls -al ~/.ssh

如下图,看到了类似 .id_rsa.pub 的字样的文件名,公钥的文件名一般是这个,找到了说明本地有。

2. 生成/修改密钥

  • 生成SSH密钥的指令如下,想要修改也是用这个先生成再覆盖
ssh-keygen -t rsa -b 4096 -C "yourid@email.com"

把上面的yourid@email.com替换成你的邮箱

结果如下图,这里让你指定存密钥的路径,可以直接敲回车,让它按默认路径就好,默认路径就是后面括号里的。

  • 如果之前在这个默认位置设置过密钥,这里就会问你要不要覆盖之前的密钥,我们的目的正是修改!直接输入y,Yes!

  • 然后让你设置密码,可以不用设,设的话每次都都要输入,很麻烦,不设就直接敲回车跳过。(我这里设了)

  • 看到这个页面就说明成功生成密钥啦!

3. 把SSH密钥添加到ssh-agent

  • 启动一下ssh-agent
eval $(ssh-agent -s)

结果如下

  • 把SSH私钥添加到ssh-agent
ssh-add ~/.ssh/id_rsa

有密码的要输一手密码,结果如下就是添加好了

4. 把SSH密钥添加到GitHub账户里

  • 先把密钥复制一下

可以在git bash里用如下命令

clip < ~/.ssh/id_rsa.pub

自己找到文件手工复制也行

  • 打开GitHub,右上角在点自己头像,进入Settings

  • SSH and GPG keys

如果之前有过密钥,要修改是下面这样子

没有就是这个样子

  • 之前的密钥不要的就点Delete给删除。然后新建一个,点 New SSH key
  • Key里把之前复制好的密钥粘贴进去
  • Title随自己心情给自己的密钥起个名字
  • Add SSH key添加

像这样子就好了

  • git bash 里可以测试一下有没有正常工作
ssh -T git@github.com

像下面这样出现 Hi! +用户名就是正常了

如果是第一次添加SSH,还应该会问你

Are you sure you want to continue connecting? 选择yes就行了

5. 测试使用ssh地址clone仓库

  • 随便找个仓库选ssh地址复制

  • git bash 中用git的地址clone
git clone git@github.com:Zolich666/Information-Integration.git
  • 如果密钥设置了密码,clone还得输密码

  • OK!成功,之后的push操作就可以用SSH协议的方式了!

6. 把远程仓库的URL从HTTPS改成SSH

那么如果是之前用HTTPS方式clone下来的仓库想改成使用SSH的方式怎么办呢?

  • 将路径改为某个之前clone的仓库下

  • 获取一下要更改的仓库名称,看看是不是HTTPS方式
git remote -v

我这样https://打头的就说明这个仓库是HTTPS方式的

  • 用 set-url修改URL为SSH的形式
git remote set-url origin git@github.com:Zolich666/Notes-of-Learning.git

两种方式URL的区别如下

HTTPS方式

https://github.com/USERNAME/REPONAME.git

SSH方式

git@github.com:USERNAME/REPONAME.git

  • OK,完了再用git remote -v检查一下有没有修改成功

这样就改好了

7. 尝试一下push

  • 随便修改一下仓库的内容,push一下看看情况

成功!这次没让我输入GitHub账号密码了

但是,如果密钥设置了密码,这里还是会让你输入密码。。。


还想BB几句

感谢你看到这里!我是在努力code,刚尝试写博的小白zolich。我喜欢看简单细致的教程学习,我也想把自己的学习心得写成这种形式,帮助自己记忆,也希望帮到像我一样在努力学习的人。

如果这篇文章对你有一点点帮助的话,顺手推荐or收藏or分享下吧~拜托啦,这对我真的很重要!还想看这种类型的文章的话加个关注吧!你的支持是对我最大的鼓励!

水平所限,如有疏漏,欢迎指正~

GitHub使用SSH连接以及生成修改添加密钥详细过程的更多相关文章

  1. github中SSH公钥的生成与添加

    在终端中输入ssh-keygen -t rsa -C "133XXXXXX@qq.com" 按3个回车,密码为空这里一般不使用密钥. 最后得到了两个文件:id_rsa和id_rsa ...

  2. Github配置SSH连接

    安装git.exe,打开Git Bash 1.检查是否已经有SSH Key. $cd /.ssh 2.生成一个新的SSH. $ ssh-keygen -t rsa -C "email@git ...

  3. ssh连接所生成的known_hosts出现的问题

    问题现场及解析 用OpenSSH的人都知ssh会把你每个你访问过计算机的公钥(public key)都记录在~/.ssh/known_hosts.当下次访问相同计算机时,OpenSSH会核对公钥.如果 ...

  4. centos 7.0 修改ssh默认连接22端口 和 添加防火墙firewalld 通过端口

    首先 先做的就是 修改ssh的默认端口22 需要修改文件 /etc/ssh/sshd_config 使用命令 vi /etc/ssh/sshd_config [root@localhost ~]# v ...

  5. github添加ssh连接用户

    最近打算用flask写一个自己的博客网站,打算把代码放在GitHub上,使用ssh访问.记录下GitHub配置ssh用户的流程. 1.在本地电脑或云服务器上生成ssh公钥和私钥,window下可以进入 ...

  6. 转:Centos 7 使用git 用 ssh 连接github服务器

    https://blog.csdn.net/wzq793957419/article/details/68067204 首先Linux下载git,ssh服务都弄好 生成ssh密钥: $ ssh-key ...

  7. window下配置SSH连接GitHub、GitHub配置ssh key(转)

    转自:http://jingyan.baidu.com/article/a65957f4e91ccf24e77f9b11.html 此经验分两部分: 第一部分介绍:在windows下通过msysGit ...

  8. SSH连接GitHub并配置ssh key

    SSH连接GitHub并配置ssh key 配置git的ssh提交,主要需要以下三步: 1.设置Git的user name和email 2.生成ssh 3.配置git 的ssh key 一.设置Git ...

  9. window下配置SSH连接GitHub、GitHub配置ssh key

    window下配置SSH连接GitHub.GitHub配置ssh key   此经验分两部分: 第一部分介绍:在windows下通过msysGit(Git for windows.Git Bash)配 ...

随机推荐

  1. layui table渲染和数据处理

    最近在用layui开发管理系统,果然是"累"ui 实现功能:将之前选择的选项勾选,渲染备注信息(原数据为空的列) <table class="layui-hide& ...

  2. form表单里的button调用js函数

    近来发现一个特别奇怪的问题:在form表单里,button的onclick事件无法调用js函数.代码如下(这段代码放在form标签里): dropUpdateAddress调用的js函数为: 这个时候 ...

  3. java 递归及其经典应用--求阶乘、打印文件信息、计算斐波那契数列

    什么是递归 我先看下百度百科的解释: 一种计算过程,如果其中每一步都要用到前一步或前几步的结果,称为递归的.用递归过程定义的函数,称为递归函数,例如连加.连乘及阶乘等.凡是递归的函数,都是可计算的,即 ...

  4. 支持向量机SVM知识梳理和在sklearn库中的应用

    SVM发展史 线性SVM=线性分类器+最大间隔 间隔(margin):边界的活动范围.The margin of a linear classifier is defined as the width ...

  5. 2019-2020-1 20199325《Linux内核原理与分析》第九周作业

    第九周作业要求: 理解Linux系统中进程调度的时机,可以在内核代码中搜索schedule()函数,看都是哪里调用了schedule(),判断我们课程内容中的总结是否准确: 使用gdb跟踪分析一个sc ...

  6. 查看现有的 cipher suite

    openssl ciphers [-v] [-ssl2] [-ssl3] [-tls1] [cipherlist]

  7. MySql id 设定为主键不自增后,再给 sort 字段增加自增属性

    需求 id 已经被设置为主键,但是没有给它设置 自增 属性.sort 起到一个排序的作用,需要给它设置一个 自增 属性 加自增属性的前提 表中的属性没有增加自增 赋予自增属性的字段,必须带有 索引 S ...

  8. java中Locks的使用

    文章目录 Lock和Synchronized Block的区别 Lock interface ReentrantLock ReentrantReadWriteLock StampedLock Cond ...

  9. 突然地心血来潮,为 MaixPy( k210 micropython ) 添加看门狗(WDT) C 模块的开发过程记录,给后来的人做开发参考。

    事情是前几天群里有人说做个看门狗不难吧,5分钟的事情,然后我就怼了几句,后来才发现,原来真的没有看门狗模块鸭. 那好吧,那我就写一下好了,今天是(2020年4月30日)想着最后一天了,不如做点什么有价 ...

  10. vue添加,删除内容

    vue 提交添加内容,点击删除内容 1 html <input v-model="inputValue" /> <button @click="hand ...