背景: 某些项目本地 PC 无法满足计算资源,一般团队会购置一个公共的服务器作为开发机
下面以用户 alice、公共开发机器 devbox.example.com 为占位示例,说明如何确保每个人在自己的工作目录使用自己的账户完成 Git 拉取、推送和创建 CI Jobs 等流程。
连接开发机
本地在 ~/.ssh/config 添加
Host devbox
HostName devbox.example.com
User devuser
Port 22
IdentityFile ~/.ssh/id_ed25519_devbox
IdentitiesOnly yes
其中 IdentityFile 替换为自己的 ssh 私钥
要避免每次登录输密码,将自己的公钥拷贝至服务器:
ssh-copy-id -i ~/.ssh/id_ed25519_devbox.pub devbox这样,第一次登录输入密码后,后续直接运行 ssh devbox 就可以登录该服务器了。
目录安排
每个人在服务器上创建自己的工作目录,如 ~/alice_ws。
Git 配置
Warning
请避免配置全局 git user.name, git user.email 等
为确保每个人拉取、推送、创建 CI Jobs 等流程都是使用自己的账户,请在服务器上创建自己的 SSH key。以下继续使用占位用户 alice:
- 创建专属 ssh key:
ssh-keygen -t ed25519 -C "alice@example.com" -f ~/.ssh/id_ed25519_alice
然后把创建的公钥添加到个人 GitLab 账户。
- 添加个人 git config 配置文件:
# ~/.gitconfig-alice
[user]
name = Alice
email = alice@example.com
[core]
sshCommand = ssh -i ~/.ssh/id_ed25519_alice -o IdentitiesOnly=yes
- 更新全局 git config 添加:
# ~/.gitconfig
[includeIf "gitdir/i:~/alice_ws/**"]
path = ~/.gitconfig-alice
表示在 ~/alice_ws 目录下使用 ~/.gitconfig-alice 中的 Git 配置。
更多参考 多 ssh key 配置