在 macOS 上配置多个 ssh-key

June 01,2024
0
折腾

最近在工作过程遇到一个问题,一些项目存放在 GitHub 上,另一些项目可能存放在 Coding 上,虽然两个平台可以共享 ssh-key,但是有时候不是很方便。于是就在网上搜索了一番,记录下来,以备后用。

生成 ssh-key

首先为 GitHub 生成 ssh-key:

ssh-keygen -t ed25519 -C "[email protected]"
# 如果不支持 ed25519 算法,可以替换为 rsa
ssh-keygen -t rsa -b 4096 -C "[email protected]"

终端会提示我们 ssh-key 的存放路径,例如 Enter file in which to save the key,我们可以指定为 /Users/xxx/.ssh/id_ed25519_github

为 Coding 生成 ssh-key 的步骤也一样,只不过我们需要指定存放路径为 /Users/xxx/.ssh/id_ed25519_coding

配置 ~/.ssh/config

.ssh/config 文件中添加如下内容:

# 表示接下来的配置适用于连接到 github.com 的情况。
Host github.com
  User git #指定连接时要使用的用户名
  StrictHostKeyChecking no #禁用严格的主机密钥检查
  IdentityFile ~/.ssh/id_ed25519_github #指定用于身份验证的私钥文件的位置
  IdentitiesOnly yes #指定只使用 IdentityFile 中指定的身份文件进行身份验证

# 表示接下来的配置适用于连接到 coding.net 的情况。
Host coding.net
  User git
  StrictHostKeyChecking no
  IdentityFile ~/.ssh/id_ed25519_coding
  IdentitiesOnly yes

搞定,这样的话就可以分别使用 ssh 协议来提交代码了。


商业转载请联系站长获得授权,非商业转载请注明本文出处及文章链接,您可以自由地在任何媒体以任何形式复制和分发作品,也可以修改和创作,但是分发衍生作品时必须采用相同的许可协议。
本文采用 CC BY-NC-SA 4.0 - 非商业性使用 - 相同方式共享 4.0 国际进行许可。