是否有一个`ssh-add` Linux alpine one liner

Dim*_*iwa 9 linux ssh bash sh

我需要在Gitlab-CI构建期间使用高山图像中的ssh-agent进行身份验证.

我正在寻找相当于这个bash命令的sh one liner (从gitlab文档中选取):

ssh-add <(echo "$SSH_PRIVATE_KEY")
Run Code Online (Sandbox Code Playgroud)

我试过了 :

echo $SSH_PRIVATE_KEY | ssh-add -
Enter passphrase for (stdin): ERROR: Job failed: exit code 1

printf '%s\n' "$SSH_PRIVATE_KEY" | ssh-add
ERROR: Job failed: exit code 1
Run Code Online (Sandbox Code Playgroud)

tha*_*guy 24

您必须在第一个命令中引用变量:

echo "$SSH_PRIVATE_KEY" | ssh-add -
     ^----------------^
Run Code Online (Sandbox Code Playgroud)

或者-在第二个命令中指定为文件名:

printf '%s\n' "$SSH_PRIVATE_KEY" | ssh-add -
                                      -----^
Run Code Online (Sandbox Code Playgroud)

  • 我认为在这个上下文中的`|`(bash oneliner)是一个管道,而不是逻辑AND或OR.该解决方案存在不同的问题.ssh-add将打开一个对话框并要求输入密码并等待输入.我已经看到了使用expect的解决方案. (5认同)
  • 也许你的意思是"和",而不是"或"?(毕竟后者不能代替前者). (2认同)