Windows 10 Git Bash SSH方式连接GitHub

    xiaoxiao2023-10-22  177

    目录

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

    准备工作

    1、安装Git for Windows。

    配置过程

    查看本机是否存在SSH密钥

    1、打开 Git Bash 2、命令行输入 ls -al ~/.ssh 查看SSH密钥是否存在 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 “your_email@example.com”

    3、当进行到 “Enter a file in which to save the key,” 时直接按回车键,使用默认路径 4、进行到这里时,输入安全密码 5、经过以上操作,密钥文件已经生成

    将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后重新启动 3、需要输入上一节中输入的安全密码 4、在Git shell中执行以下命令,完成SSH密钥的添加

    $ ssh-add ~/.ssh/id_rsa

    应该是重启Git Bash后默认添加了SSH密钥文件,貌似不执行第4步也是可以的

    将SSH密钥添加到GitHub账户

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

    8、如果提示你输入账户密码,请输入GitHub账户密码

    测试SSH方式访问GitHub

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

    $ ssh -T git@github.com

    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.

    最新回复(0)