一.生成新SSH密钥
打开 Git Bash,使用以下命令,其中邮箱替换为有效地址。
ssh-keygen -t rsa -b 4096 -C "xx@qq.com" #文件改为id_rsa1,id_rsa1.pub
ssh-keygen -t rsa -b 4096 -C "yy@qq.com" #文件改为id_rsa2,id_rsa2.pub
二.服务器端添加公钥
在多个服务器端,分别手动添加SSH对应的pub key内容。
三.客户端启动SSH agent,添加秘钥
#1.shell下启动ssh agent
eval "$(ssh-agent -s)"
#2.复制id_rsa1和id_rsa2到 ~/.ssh目录,并执行如下命令
ssh-add ~/.ssh/id_rsa1
ssh-add ~/.ssh/id_rsa2
四.客户端SSH配置管理
#1.建立配置文件
touch ~/.ssh/config
#2.config文件添加如下内容
# server1
Host first.com
HostName github.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa1
#server2
Host second.com
HostName xxxxx.com
PreferredAuthentications publickey
IdentityFile ~/.ssh/id_rsa2
五.验证登录和下载
ssh -T git@github.com #测试服务器登录
git clone git@github.com:git/git.git #使用实际仓库地址,验证代码下载
六.常见问题
常见问题:windows下,git代码下载后,编译报错。
原因:windows自动转换linux文件的回车换行及文件结束符。解决方法:
#1.全局仓库配置,只需运行一次
git config --global core.autocrlf false
git config --global core.eol lf
#2.检查配置是否起效:
git config --global core.autocrlf
git config --global core.eol