Linux入门实践笔记(五)——Win下Git配置SSH连接GitHub实现无密提交

内容

  使用SSH连接GitHub后无需在每次授权时都提供账号和密码。本文演示了Git在Windows系统下通过SSH的方式连接GitHub仓库,以实现无需输入密码进行代码提交。

版本

  操作系统:Windows 10

  Git version: 2.16.1-64-bit

说明

  转载请说明出处:Linux入门实践笔记(五)——Win下Git配置SSH连接GitHub实现无密提交

参考

  Connecting to GitHub with SSH

  使用SSH密钥连接Github【图文教程】

步骤

一、生成SSH密钥

  任意目录下进入Git Bash,执行mkdir指令创建~/.ssh文件夹。

#在~下创建文件夹.ssh
admin@DESKTOP-LNDCVD9 MINGW64 /f
$ mkdir ~/.ssh
admin@DESKTOP-LNDCVD9 MINGW64 /f
$ cd ~/.ssh
admin@DESKTOP-LNDCVD9 MINGW64 ~/.ssh
$ pwd
/c/Users/admin/.ssh

  然后进入该文件夹执行ssh-keygen指令生成SSH,其中-t选项用于指定密钥生成的算法,此处使用RSA;-C选项是公钥文件中的备注,此处使用用户邮箱作为备注。

#执行ssh-keygen指令生成SSH,
#其中-t选项用于指定密钥生成的算法,此处使用RSA;
#-C选项是公钥文件中的备注,此处使用用户邮箱作为备注。 
admin@DESKTOP-LNDCVD9 MINGW64 ~/.ssh
$ ssh-keygen -t rsa -C "10000@qq.com"
Generating public/private rsa key pair.
#直接回车,使用默认的密钥文件名
Enter file in which to save the key (/c/Users/admin/.ssh/id_rsa):
#直接回车,不输入密码
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /c/Users/admin/.ssh/id_rsa.
Your public key has been saved in /c/Users/admin/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:l49L+DGIYWbUALe+TwllP+ITEq2X3HY7861Rrvws4uQ 10000@qq.com
The key's randomart image is:
+---[RSA 2048]----+
|   ..o         |
|     . =         |
|      + =       |
|     o * + .     |
|     X S B .   .|
|     + O O = . o |
|     o B = * . .|
|       o + *.=.= |
|       . o.E.=++|
+----[SHA256]-----+

  执行完ssh-keygen指令后,系统会在当前路径下创建私钥文件“id_rsa”,和公钥文件“id_rsa.pub”。

admin@DESKTOP-LNDCVD9 MINGW64 ~/.ssh
$ ll
total 5
-rw-r--r-- 1 admin 197121 1675 11月  1 17:37 id_rsa
-rw-r--r-- 1 admin 197121  394 11月  1 17:37 id_rsa.pub

二、将SSH的公钥文件添加到GitHub账号

  登录GitHub,点击右上角头像选择Settings,进入设置界面。

1541000162592

  在设置界面的左侧找到SSH Keys设置功能,然后点击New SSH key按钮。

1541000321674

  执行clip指令,将公钥文件id_rsa.pub的内容拷贝到剪切板上。

#执行clip指令,将公钥文件id_rsa.pub的内容拷贝到剪切板上。
admin@DESKTOP-LNDCVD9 MINGW64 ~/.ssh
$ clip < id_rsa.pub

  为这个SSH密钥的链接起个名称,比如MyComputer,然后将公钥粘贴到Key中。

1541000484089

  输入账号的登录密码,完成SSH Key的新增。

1541000545431

1541000574967

三、测试SSH连接

  执行ssh -T命令测试与GitHub的SSH连接。其中-T表示不显示终端,只显示连接成功信息。

#-T表示不显示终端,只显示连接成功信息。 
admin@DESKTOP-LNDCVD9 MINGW64 ~/.ssh
$ ssh -T git@github.com
#配置过ssh后初次访问GitHub会提示如下信息,输入yes即可
The authenticity of host 'github.com (192.30.253.113)' can't be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'github.com,192.30.253.113' (RSA) to the list of known hosts.
Hi leo-zz! You've successfully authenticated, but GitHub does not provide shellaccess.

  下面,基于SSH连接使用Git Hub工作吧!

原文地址:https://www.cnblogs.com/lonelyJay/p/9891041.html