zoukankan      html  css  js  c++  java
  • GitHub使用SSH连接以及生成修改添加密钥详细过程

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

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

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

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

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

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

    Y2jUxI.png

    2. 生成/修改密钥

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

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

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

    Y2jDZ8.png

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

    Y2jdMt.png

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

    Y2jtGd.png

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

    Y2jYPH.png

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

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

    结果如下

    Y2j0qf.png

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

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

    Y2jDZ8.png

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

    • 先把密钥复制一下

    可以在git bash里用如下命令

    clip < ~/.ssh/id_rsa.pub
    

    Y2jwsP.png

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

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

    Y2jrdS.png

    • SSH and GPG keys

    Y2jsIg.png

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

    Y2jcGj.png

    没有就是这个样子

    Y2j6iQ.png

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

    Y2jgRs.png

    像这样子就好了

    YRu2EF.png

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

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

    YRMgfJ.png

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

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

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

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

    YRiGIx.png

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

    YRiYi6.png

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

    YRiYi6.png

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

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

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

    YRFMff.png

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

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

    YRFKtP.png

    • 用 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

    YRF11S.png

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

    YRF36g.png

    这样就改好了

    7. 尝试一下push

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

    YRAbfP.png

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

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


    还想BB几句

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

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

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

  • 相关阅读:
    day06作业
    day04_ATM项目说明书
    ATM+购物车基本思路流程
    装饰器、迭代器、生成器、递归、匿名函数、面向过程编程、三元表达式6
    day05函数部分
    自制七段数码管源码
    字符串格式化
    字符串表示
    格式化输出
    python入门——列表类型、元组、字典类型
  • 原文地址:https://www.cnblogs.com/zolich/p/12906838.html
Copyright © 2011-2022 走看看