Windows环境下配置Git SSH

Windows环境下配置Git SSH

配置全局用户名和邮箱

git config --global user.name "自定义用户名"
git config --global user.email "邮箱"

查看当前的全局变量

git config --global --list

取消全局设置命令

git config --global --unset user.name
git config --global --unset user.email

生成SSH Key

  1. 查看本地是否有SSH设置

    ls ~/.ssh
    

    如果提示没有目录则没有

  2. 生成公钥和私钥

    ssh-keygen -t rsa -C "邮箱"
    

    Enter file in which to save the key 输入保存的目录,默认用户目录下

    Enter passphrase (empty for no passphrase): 输入密码,回车默认没有
    Enter same passphrase again: 再次输入密码

  3. 执行ssh-agent命令
    ssh-agent就是一个密钥管理器,运行ssh-agent以后,使用ssh-add将私钥交给ssh-agent保管,其他程序需要身份验证的时候可以将验证申请交给ssh-agent来完成整个认证过程

  4. 添加私钥,执行下面命令

    ssh-add ~/.ssh/id_rsa
    

    在执行上面的添加私钥命令时,如果出现如下错误:Error connecting to agent: No such file or directory
    开启ssh-agent:ssh-agent 报错:
    unable to start ssh-agent service, error :1058

    则通过win+R打开services查看 “OpenSSH Authentication Agent” 服务是否开启,如果是 “disabled”(可能是win10自动更新给仅用了) 则将服务设为"Automatic"然后开启服务即可

  5. 添加私钥到github上,选择setting-->SSH and GPG keys-->New SSH key,把id_rsa的内容粘贴进去

  6. 输入

    ssh -T git@github.com
    

    提示下图

    则为成功

生成多个ssh key时,不同的key需要放置在不同的目录,同时在.ssh目录下添加config文件,内容模板为:

# gitlab
Host gitool.glanway.com
HostName gitool.glanway.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_gitlab
User mingyue

# github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa_github
User mingyue

每个账号单独配置一个Host,每个Host要取一个别名,每个Host主要配置HostNameIdentityFile两个属性即可
Host的名字可以取为自己喜欢的名字,不过这个会影响git相关命令

例如:

Host mygithub 这样定义的话,命令如下,即git@后面紧跟的名字改为mygithub
git clone git@mygithub:PopFisher/AndroidRotateAnim.git
就相当于你配置的HostName真正的域名,映射成了Host后面的配置的名字

拉项目还是出错怎么办

Git报错解决:fatal: unable to access 'https://github.com/.......': OpenSSL SSL_read: Connection was reset, errno 10054

一般是这是因为服务器的SSL证书没有经过第三方机构的签署,所以才报错

全局设置不认证:

git config --global http.sslVerify "false"

Failed to connect to github.com port 443: Timed out

网络问题,添加全局代理

git config --global http.proxy http://127.0.0.1:7890  #端口注意对应代理的端口

git config --global https.proxy http://127.0.0.1:7890

本地git设置完了,IDEA调用本地的git应该也可以了

posted @ 2021-07-20 17:22  云子墨  阅读(248)  评论(0编辑  收藏  举报