zoukankan      html  css  js  c++  java
  • git配置ssh秘钥(公钥以及私钥)windows

    桌面版git,  本文以github为例,gitlab等其它托管平台一样操作

    当我们将代码托管到远程平台(GitHub、gitlab等)时, 我们需要在本地使用git进行push/pull代码时,需要将公钥加入到托管平台,如果需要免密操作,还需要在本地存储私钥,那么如何操作呢

    首先我们找到git的安装目录,双击bash.exe

    然后弹出命令框,输入命令(邮箱最好换成你的GitHub邮箱,据说不换也可以,未尝试过) 4096 一会会用到

    ssh-keygen -t rsa -C your@example.com -b 4096

    这个过程会让你输入密码什么的,可以输入也可以不输入直接回车,输入的话就是将来进行 pull/push 代码时需要输入的密码

    如果出现类似下图的情况就是生成密钥对(公钥+私钥)成功了,

    下面进入到用户目录(一般在C:/用户/你的用户名/),找到.ssh文件夹,里面已经有两个文件了,如图所示

    这里说明一下, id_rsa.pub是公钥,id_rsa是私钥(这个私钥并不能使用,因为正确的私钥后缀应该是.ppk)

    好了,这时你可以进行如下操作

    1、将id_rsa.pub文件用编辑器打开,完整的全选复制所有内容,不要有任何改变,空格都不行

    2、打开GitHub,登录你本人的账号,进入setting  -> SSH and GPG keys -> New SSH key, 具体如下:

    3、进入到下一个页面,粘贴你的key, 并随意起一个容易记住的title, 然后点击 Add ssh key 按钮,完成。

    然后会跳转到ssh key 列表页面,如下:

    此时如果没有提示 “Key is invalid...........”,并且生成了你刚添加的ssh key, 就可以在本地进行代码的更新了。下面就可以不用看了 ,可以关闭本网页了 

    如果比较悲催的提示你Key is invalid

    或者

    你设置了pull/push密码(生成秘钥时、ssh-keygen -t rsa -C your@example.com -b 4096输入的密码)但又想免密使用git进行更新代码时

    此时我们可以使用私钥,也就是生成秘钥对时的两个文件之一 :id_rsa,我们将id_rsa复制一份,命名为id_rsa.ppk作为私钥。 id_rsa里面的内容是私钥,但文件格式不是私钥,只保留备份即可,如下

    除此之外我们需要一个非常小巧的秘钥生成工具puttygen,下载链接   https://www.puttygen.com/download-putty 找到 puttygen.exe  选择32或64位版本,下载安装
    打开软件如下:

    首先我们确保秘钥类型是RSA, 字节数是4096,也就是前边说的4096

    下面是选择私钥:你可以选择Generate,生成一个秘钥对(公钥和私钥)然后保存为.ppk文件,

            也可以使用ssh自己生成的那个私钥,也就是我们刚刚复制命名为 id_rsa.ppk 的私钥文件(这里我使用复制的id_rsa.ppk)

    准备好私钥后,点击load,载入私钥, 选择你私钥(我选择我们的id_rsa.ppk

    然后会生成新的公钥,此时你的id_rsa.pub文件已经更新,我们用编辑器/记事本打开它,(今天2019-11-25发现不再生成新的公钥了,此时点击Save private key 将新的私钥保存为.ppk文件。配置git的remote时使用此私钥即可,其他步骤不变)

    记住一定是完整的全选复制,然后按照前面说的步骤,添加到github上,

    此时大功告成,可以使用git进行免密更新代码了。

    如果该项目的代码仍然没有权限pull请联系该项目的管理者,在该项目的setting 中的 Collaborators选项 邀请你为项目成员,你必须同意后才能更新代码。

    see you !

  • 相关阅读:
    HDU2438:Turn the corner(三分)
    XTU1267:Highway(LCA+树的直径)
    HDU6024:Building Shops(DP)
    “玲珑杯”ACM比赛 Round #13 B -- 我也不是B(二分排序)
    XTU1266:Parentheses(贪心+优先队列)
    Educational Codeforces Round 21 D
    Educational Codeforces Round 21E selling souvenirs (dp)
    EOJ3247:铁路修复计划
    关于工厂模式的 个人理解
    设计模式之 工厂方法
  • 原文地址:https://www.cnblogs.com/lz0925/p/10725010.html
Copyright © 2011-2022 走看看