Gitlab 运行器和钥匙串

Gitlab 运行器和钥匙串

最近,我在虚拟机上配置了一个 Gitlab Runner,我想在该虚拟机上添加钥匙串,以允许运行器执行 scp 或 SSH 等命令,而不会暴露我的 SSH 密码(https://www.cyberciti.biz/faq/ssh-passwordless-login-with-keychain-for-scripts/

当我安装 gitlab-multi-runner 时(https://docs.gitlab.com/runner/install/linux-repository.html) 我 看到gitlab-runner我 的 文件夹 " " 中有 个 新 文件 夹/home.

因此我为该用户添加了一个密码(passwd 命令),按照上面链接的描述编辑其 .bash_profile,并生成新的 SSH 密钥。

我的运行器工作正常,我的 .gitlab-ci.yml 可以执行如下 scp 命令:

scp jon.doe YOUR_LOGIN@DEV_SERVER_ADDRESS:/var/www/

无需密码或不暴露密码。

我的问题是:

  1. 像这样配置运行器安全吗?
  2. 有没有官方的或者更好的方法来做我想做的事?(使用 gitlab-runner 安全地使用 SSH 和 SCP)

我认为应该没有问题,但我不是 Linux 和 SSH 专家,所以......

谢谢您的回答!

答案1

像这样配置运行器安全吗?

只要你正在运行这些作业就可以了。

如果其他人(您不信任的人)可以将任意命令推送到您的.gitlab-cy.yml,他基本上可以在您的虚拟机和其他机器上运行任意代码(这当然不是您想要的)。

您应该限制开发服务器上的远程用户YOUR_LOGIN执行所需的最少操作ForceCommandscponly或仅强制命令scp进入特定目录)、阻止端口转发并可能使用 chroot。

相关内容