MacOS 同时配置github、gitee和gitlab密钥
1 在终端中新建 ~/.ssh目录
1.1 生成GitHub、Gitee和Gitlab的SSH密钥对
ssh-keygen -t ed25519 -C "[email protected]" -f ~/.ssh/id_ed25519_gitee
ssh-keygen -t ed25519 -C "[email protected]" -f ~/.ssh/id_ed25519_github
ssh-keygen -t ed25519 -C "[email protected]" -f ~/.ssh/id_ed25519_gitlab
- [email protected] 是注册github、gitee和gitlab的绑定账号的邮箱
- -t ed25519:生成密钥的算法为ed25519(ed25519比rsa速度快,也是gitee默认推荐算法)
- -C "你的箱":表示以这个邮箱生成ed25519算法密钥
- --f ~/.ssh/id_ed25519_github:表示生成的私钥和公钥的指定路径和文件名
1.2 不断继续按回车键,生成一下6个文件:
2. 添加公钥到 GitHub、Gitee和Gitlab(带有 .pub 的文件是公钥,没带的是私钥)
2.1 Github添加公钥,用文本编辑器打开 id_ed25519_github.pub,把里面内容全部复制到 github账户头像 的 settings(设置) 下面的 SSH and GPG keys(SSH and GPG 密钥) 密钥操作区域,如下图所示:
2.2 Gitee添加公钥,用文本编辑器打开 id_ed25519_gitee.pub,把里面内容全部复制到 gitee账户头像 的 设置 下面的 SSH公钥 密钥操作区域,如下图所示:
2.3 Gitlab添加公钥,用文本编辑器打开 id_ed25519_gitlab.pub,把里面内容全部复制到 gitlab账户头像 的 Preferences(设置) 下面的 SSH keys(SSH 密钥) 密钥操作区域,如下图所示:
3 在 ~/.shh 目录下创建config 配置 SSH区分不同的主机
3.1 通过touch创建config文件
touch config
3.2 把下面内容复制到config保存
Host gitee.com
HostName gitee.com
IdentityFile ~/.ssh/id_ed25519_gitee
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null
LogLevel quiet
User git
Host github.com
HostName github.com
IdentityFile ~/.ssh/id_ed25519_github
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null
LogLevel quiet
User git
Host gitlab.com
HostName gitlab.com
IdentityFile ~/.ssh/id_ed25519_gitlab
StrictHostKeyChecking no
UserKnownHostsFile=/dev/null
LogLevel quiet
User git
- dentityFile : 自动匹配私钥路径名称
- StrictHostKeyChecking no:no值禁用主机密钥检查提示
- UserKnownHostsFile=/dev/null:禁止将主机密钥保存到 known_hosts 文件中
- LogLevel quiet:quiet忽略警告和错误信息的输出(建议把改行 LogLevel quiet 注释掉,否则错误信息也被忽略;有强迫症当我没说哈)
4 测试连接
4.1 Github测试 (注意:如果开启 watt toolkit 代理必须关闭,否则测试不成功)
ssh -T [email protected]
4.2 Gitee测试
ssh -T [email protected]
4.3 Gitlab测试
ssh -T [email protected]