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
-
查看本地是否有SSH设置
ls ~/.ssh
如果提示没有目录则没有
-
生成公钥和私钥
ssh-keygen -t rsa -C "邮箱"
Enter file in which to save the key
输入保存的目录,默认用户目录下Enter passphrase (empty for no passphrase):
输入密码,回车默认没有
Enter same passphrase again:
再次输入密码 -
执行ssh-agent命令
ssh-agent就是一个密钥管理器,运行ssh-agent以后,使用ssh-add将私钥交给ssh-agent保管,其他程序需要身份验证的时候可以将验证申请交给ssh-agent来完成整个认证过程 -
添加私钥,执行下面命令
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"然后开启服务即可
-
添加私钥到github上,选择setting-->SSH and GPG keys-->New SSH key,把id_rsa的内容粘贴进去
-
输入
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
主要配置HostName
和IdentityFile
两个属性即可
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应该也可以了