Windows 10 Git Bash SSH方式连接GitHub

目录

  • 准备工作
  • 配置过程
    • 查看本机是否存在SSH密钥
    • 生成一个新的SSH密钥
    • 将SSH密钥添加到ssh-agent
    • 将SSH密钥添加到GitHub账户
  • 测试SSH方式访问GitHub

准备工作

1、安装Git for Windows。

配置过程

查看本机是否存在SSH密钥

1、打开 Git Bash
Windows 10 Git Bash SSH方式连接GitHub_第1张图片
2、命令行输入 ls -al ~/.ssh 查看SSH密钥是否存在
Windows 10 Git Bash SSH方式连接GitHub_第2张图片
3、查看目录列表中是否有SSH密钥。默认情况下,密钥文件的文件名是下列之一:

id_dsa.pub
id_ecdsa.pub
id_ed25519.pub
id_rsa.pub
  • 如果本机没有SSH密钥,可以参照第2小节生成SSH密钥
  • 如果本机已经有SSH密钥,可以参照第3小节将SSH密钥添加到ssh-agent中

生成一个新的SSH密钥

1、打开 Git Bash

2、粘贴以下文本到命令行执行, 替换为你自己的GitHub邮件地址

$ ssh-keygen -t rsa -b 4096 -C “[email protected]

Windows 10 Git Bash SSH方式连接GitHub_第3张图片
3、当进行到 “Enter a file in which to save the key,” 时直接按回车键,使用默认路径
Windows 10 Git Bash SSH方式连接GitHub_第4张图片
4、进行到这里时,输入安全密码
Windows 10 Git Bash SSH方式连接GitHub_第5张图片
5、经过以上操作,密钥文件已经生成
Windows 10 Git Bash SSH方式连接GitHub_第6张图片

将SSH密钥添加到ssh-agent

1、使ssh-agent在Git for Windows上自动运行:将以下内容粘贴到Git shell里的~/.profile or ~/.bashrc文件,当你打开Git shell时ssh-agent将自动运行

env=~/.ssh/agent.env

agent_load_env () { test -f "$env" && . "$env" >| /dev/null ; }

agent_start () {
    (umask 077; ssh-agent >| "$env")
    . "$env" >| /dev/null ; }

agent_load_env

# agent_run_state: 0=agent running w/ key; 1=agent w/o key; 2= agent not running
agent_run_state=$(ssh-add -l >| /dev/null 2>&1; echo $?)

if [ ! "$SSH_AUTH_SOCK" ] || [ $agent_run_state = 2 ]; then
    agent_start
    ssh-add
elif [ "$SSH_AUTH_SOCK" ] && [ $agent_run_state = 1 ]; then
    ssh-add
fi

unset env

2、关闭Git Bash后重新启动
Windows 10 Git Bash SSH方式连接GitHub_第7张图片
3、需要输入上一节中输入的安全密码
Windows 10 Git Bash SSH方式连接GitHub_第8张图片
4、在Git shell中执行以下命令,完成SSH密钥的添加

$ ssh-add ~/.ssh/id_rsa

Windows 10 Git Bash SSH方式连接GitHub_第9张图片
应该是重启Git Bash后默认添加了SSH密钥文件,貌似不执行第4步也是可以的

将SSH密钥添加到GitHub账户

1、用你自己的文本编辑器打开你生成的密钥文件(默认为~/.ssh/id_rsa.pub),将文件内容复制到剪贴板
2、在GitHub网站上点击用户头像,然后点击 Settings
Windows 10 Git Bash SSH方式连接GitHub_第10张图片
3、在用户设置侧边栏,点击 SSH and GPG keys
Windows 10 Git Bash SSH方式连接GitHub_第11张图片
4、点击 New SSH key 或者 Add SSH key
Windows 10 Git Bash SSH方式连接GitHub_第12张图片
5、在"Title"里添加一个SSH密钥的简短描述,例如“ThinkPad Home”
6、将第1步复制的密钥文件内容粘贴在“Key”里
Windows 10 Git Bash SSH方式连接GitHub_第13张图片
7、点击 Add SSH key
在这里插入图片描述

8、如果提示你输入账户密码,请输入GitHub账户密码
Windows 10 Git Bash SSH方式连接GitHub_第14张图片

测试SSH方式访问GitHub

1、打开Git Bash
2、执行以下命令

$ ssh -T [email protected]

Windows 10 Git Bash SSH方式连接GitHub_第15张图片
3、验证输出的信息是否匹配以下两种之一

The authenticity of host ‘github.com (IP ADDRESS)’ can’t be established.
RSA key fingerprint is 16:27:ac:a5:76:28:2d:36:63:1b:56:4d:eb:df:a6:48.
Are you sure you want to continue connecting (yes/no)?

或者

The authenticity of host ‘github.com (IP ADDRESS)’ can’t be established.
RSA key fingerprint is SHA256:nThbg6kXUpJWGl7E1IGOCspRomTxdCARLviKw6E5SY8.
Are you sure you want to continue connecting (yes/no)?

如果是的话输入 yes

4、正常的话会有以下输出,证明连接没有问题

Hi username! You’ve successfully authenticated, but GitHub does not provide shell access.

你可能感兴趣的:(系统环境-Windows)