Mac上配置多个git账号
1. 环境格式化
目的:清空全局的
git config
配置,否则会出现意想不到的问题
- 查看
git列表git config --list - 清空默认的用户名和邮箱(如果全局有配置话)
git config --global --unset user.name
git config --global --unset user.email
2. 使用
ssh-keygen
生成不同账号的
ssk-key
ssh-keygen -t ras -C [用户名]-b [长度]-f [文件名]
ssh-keygen
全部参数说明:
- **
-b** “Bits”此选项指定密钥中的位数。管理 SSH 使用情况的法规可能要求使用特定的密钥长度。一般而言,2048 位对于 RSA 密钥而言已足够。 -e “导出”此选项允许在 OpenSSH 密钥文件格式和RFC 4716“SSH 公钥文件格式”中记录的格式之间重新格式化现有密钥。- **
-p[-P old_passphrase]**“更改密码” 此选项允许使用和[-N new_passphrase],更改私钥文件的密码[-f keyfile]。 -t "Type"此选项指定要创建的密钥的类型。常用值为:-rsa表示RSA密钥,-dsa表示DSA密钥,-ecdsa表示椭圆曲线 DSA密钥- **
-i "输入"**当需要访问现有密钥时,此选项指定文件。 - **
-f** “文件”指定存储创建的密钥的文件的名称。 - **
-N** “新建”为密钥提供新密码。 - **
-P** “密码”在读取密钥时提供(旧)密码。 - **
-C** “注释”更改密钥文件的注释。 - **
-p**更改私钥文件的密码。 - **
-q**静默 ssh-keygen。 - **
-v**详细模式。 - **
-l** “指纹”打印指定公钥的指纹。 - **
-B** “Bubble babble”显示密钥文件的“bubble babble”(Tectia 格式)指纹。 -F在 known_hosts 文件中搜索指定的主机名。-R从 known_hosts 文件中删除属于某个主机名的所有键。- **
-y**读取私有 OpenSSH 格式文件并将 OpenSSH 公钥打印到标准输出。
实战效果:
3. 将生成的密钥添加到ssh-agent信任列表中
添加命令:
ssh-add ~/.ssh/xxx
例如:
ssh-add ~/.ssh/smiarnxzj_rsa
如果添加过程中遇到报错
Error: Could not open **a** connection **to** your authentication agent.
时使用
ssh-agent bash
,然后在执行上述操作
4.在Git账号中配置公钥
使用
cat ~/.ssh/xxx.pub
查看公钥内容,并将其复制。例如:
cat ~/.ssh/smiarnxzj_rsa.pub

实际配置请参考实际git网站使用手册。
5. 配置多个ssh-key
1. 切换到
.ssh
目下,新建或修改
config
文件
vi ~/.ssh/config
2. 配置不同账号的ssh-key
例如:

参数说明:
键名键值规则Host主机随便写Hostname主机名必须写正确,是git账号的网站地址preferredAuthenticationsSSH客户端身份认证方法格式:
- PreferredAuthentications [auth-method1,auth-method2,auth-method3,…]
- 其中 代表身份验证方法,如 publickey、password、hostbased 等。
- 作用:
- 它允许您指定应该首先尝试的身份验证方法的优先级顺序
- 提高SSH链接的效率和安全性
IdentityFile身份文件RSA具体路径地址User用户随便写6. 测试链接
- 提高SSH链接的效率和安全性
使用
ssh -T
命令来验证是否已经配置OK
ssh -T git@{你的Host}
例如:
温馨提示:
- 使用
ssh -T测试时,尽可能的关闭你的梯子;梯子开启状态下可能导致连接失败 - 公司内部的GIT 网站或私有部署的GIT服务器是无法连接成功的
版权归原作者 无尘--老徐 所有, 如有侵权,请联系我们删除。