前言
家里的电脑不知怎么回事,之前一点问题没有的GitHub,提交Github上的代码时始终连接不上,搜索引擎搜索了好几种方式一点用没有,反而将配置弄得一团糟,于是想初始化项目并重新配置ssh
注意,此为Windows平台
打开Git Bash 并以管理员身份运行
初始化全局配置
# 查看git 版本
git --version
# 初始化git 全局配置(删除之前的所有配置)
git config --global --unset-all
# 添加全局用户名和邮箱
git config --global user.name "yourname"
git config --global user.email "yourname@email.com"
# 查看当前的全局变量
git config --global -l
生成多个ssh key,用几个平台生成几个
# gitLab
ssh-keygen -t rsa -C "yourname1@email.com" -f ~/.ssh/id_rsa_gitlab
# gitHub
ssh-keygen -t rsa -C "yourname2@email.com" -f ~/.ssh/id_rsa_github
# gitee
ssh-keygen -t rsa -C "yourname3@email.com" -f ~/.ssh/id_rsa_gitee
在自己的用户目录会生成对应的id_rsa 文件和对应的公钥,打码的为本人公司环境对应的公钥
添加私钥
# 先运行ssh公钥管理,再添加公钥,否则可能报错Could not open a connection to your authentication agent.
ssh-agent bash
# 添加私钥
ssh-add ~/.ssh/id_rsa_gitlab
ssh-add ~/.ssh/id_rsa_github
ssh-add ~/.ssh/id_rsa_gitee
# 查看私钥列表
ssh-add -l
将ssh key添加到对应的Git平台的SSH keys列表中
- GitHub设置:登陆后点右上角头像 -> Settings -> 左侧菜单SSH and GPG keys -> 点右侧New SSH key按钮 -> Title随便写,Key把公钥~/.ssh/id_rsa_gitlab.pub里的ssh key粘贴上 -> 点Add SSH key添加
其它平台类似,就不做截图演示了。
添加配置文件
在存放私钥的文件夹中创建一个文本文档config.txt
输入以下内容:
# github账号配置
Host github.com
port 22
User git
HostName github.com
PreferredAuthentications publickey
IdentityFile C:\Users\Wrh_1\.ssh\id_rsa_github
# 公司gitlab账号配置
Host ********
port 22
User git
HostName ********
User git
PreferredAuthentications publickey
IdentityFile C:\Users\Wrh_1\.ssh\id_rsa_****
配置文件参数
- Host: 指定Host别名,建议与HostName相同
- HostName: 指定Git服务器地址(域名或IP)
- Port: 指定Git服务器端口(默认80端口可忽略此项)
- User: 指定用户名(自定义,建议为git)
- PreferredAuthentications: 指定优先使用哪种方式验证,支持密码和密钥验证方式
- IdentityFile: 指定对应的私钥文件
测试(显示successfully即为成功)
# 连接测试
ssh -T git@github.com
ssh -T git@*****.com