GitHub使用SSH连接以及生成修改添加密钥详细过程
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连接以及生成修改添加密钥详细过程的更多相关文章
- github中SSH公钥的生成与添加
在终端中输入ssh-keygen -t rsa -C "133XXXXXX@qq.com" 按3个回车,密码为空这里一般不使用密钥. 最后得到了两个文件:id_rsa和id_rsa ...
- Github配置SSH连接
安装git.exe,打开Git Bash 1.检查是否已经有SSH Key. $cd /.ssh 2.生成一个新的SSH. $ ssh-keygen -t rsa -C "email@git ...
- ssh连接所生成的known_hosts出现的问题
问题现场及解析 用OpenSSH的人都知ssh会把你每个你访问过计算机的公钥(public key)都记录在~/.ssh/known_hosts.当下次访问相同计算机时,OpenSSH会核对公钥.如果 ...
- centos 7.0 修改ssh默认连接22端口 和 添加防火墙firewalld 通过端口
首先 先做的就是 修改ssh的默认端口22 需要修改文件 /etc/ssh/sshd_config 使用命令 vi /etc/ssh/sshd_config [root@localhost ~]# v ...
- github添加ssh连接用户
最近打算用flask写一个自己的博客网站,打算把代码放在GitHub上,使用ssh访问.记录下GitHub配置ssh用户的流程. 1.在本地电脑或云服务器上生成ssh公钥和私钥,window下可以进入 ...
- 转:Centos 7 使用git 用 ssh 连接github服务器
https://blog.csdn.net/wzq793957419/article/details/68067204 首先Linux下载git,ssh服务都弄好 生成ssh密钥: $ ssh-key ...
- window下配置SSH连接GitHub、GitHub配置ssh key(转)
转自:http://jingyan.baidu.com/article/a65957f4e91ccf24e77f9b11.html 此经验分两部分: 第一部分介绍:在windows下通过msysGit ...
- SSH连接GitHub并配置ssh key
SSH连接GitHub并配置ssh key 配置git的ssh提交,主要需要以下三步: 1.设置Git的user name和email 2.生成ssh 3.配置git 的ssh key 一.设置Git ...
- window下配置SSH连接GitHub、GitHub配置ssh key
window下配置SSH连接GitHub.GitHub配置ssh key 此经验分两部分: 第一部分介绍:在windows下通过msysGit(Git for windows.Git Bash)配 ...
随机推荐
- MVC-基础02
MVC是Model(模型).View(视图)和Controller(控制). 1)最上面的一层,是直接面向最终用户的"视图层"(View).它是提供给用户的操作界面,是程序的外壳. ...
- 模糊字符串匹配:FuzzyWuzzy
FuzzyWuzzy 模糊字符串匹配,它使用Levenshtein Distance来计算简单易用的包中序列之间的差异. 前置条件 Python 2.7 or higher difflib pytho ...
- sqlilab11-14
less11 抓包 ' " 实验发现'构成闭合,存在注入点 less-12 a,b都有注入点,b比较好判断闭合 less13 less14
- python学习笔记(六)---文件操作与异常处理机制
文件读取 读取整个文件 要读取文件,需要一个包含几行文本的文件.下面首先来创建一个文件,它包含精确到小数点后30位的圆周率值,且在小数点后每10位处都换行: pi_digits.txt 3.14159 ...
- SESSION劫持
服务端和客户端之间是通过session(会话)来连接沟通.当客户端的浏览器连接到服务器后,服务器就会建立一个该用户的session.每个用户的session都是独立的,并且由服务器来维护.每个用户的s ...
- 吕建文 20199303《Linux内核原理与分析》第十二周作业
ShellShock攻击实验 2014年9月24日,Bash中发现了一个严重漏洞shellshock,该漏洞可用于许多系统,并且既可以远程也可以在本地触发.在本实验中,学生需要亲手重现攻击来理解该漏洞 ...
- iscsi的工作原理与优化(2)
2.1 iSCSI协议模型,iscsi[会话层协议,即应用协议] iSCSI使用TCP/IP协议在不稳定网络上进行可靠的数据传输.iSCSI层和标准SCSI集在协议栈中的位置如图1所示.iSCSI层包 ...
- Docker虚拟化管理:30分钟教你学会用Docker
关于Docker的官方介绍网上太多了我就不贴了,就实际体验来说Docker可以极大的简化环境搭建及服务部署的操作流程,大大降低部署的时间成本,解放你的双手. 本文不会深入讲解Docker底层架构及运行 ...
- Swoole 实战:MySQL 查询器的实现(协程连接池版)
目录 需求分析 使用示例 模块设计 UML 类图 入口 事务 连接池 连接 查询器的组装 总结 需求分析 本篇我们将通过 Swoole 实现一个自带连接池的 MySQL 查询器: 支持通过链式调用构造 ...
- OSChina 清明节乱弹 ——准备好纸巾了看乱弹
2019独角兽企业重金招聘Python工程师标准>>> Osc乱弹歌单(2017)请戳(这里) [今日歌曲] @亚麻仔 :分享 范忆堂 的歌曲<酡颜 (夏热版)> 同一个 ...