Gitlab CI / CD ssh添加返回输入密码

eas*_*ipt 5 ssh gitlab

触发后,管道运行并返回以下错误,

$ ssh-add <(echo "$SSH_PRIVATE_KEY")
Enter passphrase for /dev/fd/63: ERROR: Job failed: exit code 1
Run Code Online (Sandbox Code Playgroud)

我的SSH_PRIVATE_KEY变量具有有效的私钥。

小智 5

就我而言,我已将 SSH_PRIVATE_KEY 变量设置为“受保护”,因此这在从受保护分支构建时有效。如果您的 SSH_PRIVATE_KEY 变量受到保护,请确保您的分支也受到保护。有关如何保护 gitlab 分支的信息


Sak*_*oto 3

有两种可能的选择来实现它。

第一个选项:使用另一个未请求输入密码的 SSH 私钥。

第二个选项:使用期望语法在需要时“交互式”输入密码[1]。

不要认为第二个选项比第一个选项更安全,因为在 shell 文件上,您需要存储密码而不进行任何加密。

[1] https://unix.stackexchange.com/questions/288099/how-to-write-expect-in-shell