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实现无密提交
参考
步骤
一、生成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,进入设置界面。
在设置界面的左侧找到SSH Keys设置功能,然后点击New SSH key按钮。
执行clip指令,将公钥文件id_rsa.pub的内容拷贝到剪切板上。
#执行clip指令,将公钥文件id_rsa.pub的内容拷贝到剪切板上。
admin@DESKTOP-LNDCVD9 MINGW64 ~/.ssh
$ clip < id_rsa.pub
为这个SSH密钥的链接起个名称,比如MyComputer,然后将公钥粘贴到Key中。
输入账号的登录密码,完成SSH Key的新增。
三、测试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工作吧!