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服务器是无法连接成功的
版权归原作者 无尘--老徐 所有, 如有侵权,请联系我们删除。