我在一个远程服务器上尝试在Gitlab CI中做一些事情。当使用RSA密钥时,一切都很好,但是当我尝试使用ED25519密钥时,我被卡住了:
Running with gitlab-ci-multi-runner 9.3.0 (3df822b)
on Internal Runner (079281fd)
Using Docker executor with image 1drop/docker:git ...
Using docker image sha256:b9cf0ca386341048f8696d950123e20b5d6583c190f266aacb25b6d3d4736028 for predefined container...
Pulling docker image 1drop/docker:git ...
Using docker image 1drop/docker:git ID=sha256:966d107d59806ab1a3aa2229618858b5141e2c7bb183dd9f4dfaafdca4d51774 for build container...
Running on runner-079281fd-project-207-concurrent-0 via srv1...
Fetching changes...
$ eval $(ssh-agent -s)
Agent pid 17
$ ssh-add <(echo "$SSH_PRIVATE_KEY"| base64 -d)
Enter passphrase for /dev/fd/63: ERROR: Job failed: exit code 1如您所见,如果在Gitlab将ed25519变量注入运行时出现问题,我已经尝试使用base64对SSH_PRIVATE_KEY键进行编码。
键的内容很好,我可以输出它并在本地测试它,它可以工作。另外,如果我将一个常规的RSA密钥放入SSH_PRIVATE_KEY变量中,它就能很好地工作。但是在一些客户服务器上,我需要使用ed25519,而且我一直收到“输入密码”的信息,我不知道为什么。
我是否需要安装一些库才能使其工作?我的ssh模块说它可以做ed25519密钥。
发布于 2018-01-23 14:08:06
这些文件已经更新。请参阅keys/
##
## Add the SSH key stored in SSH_PRIVATE_KEY variable to the agent store
## We're using tr to fix line endings which makes ed25519 keys work
## without extra base64 encoding.
## https://gitlab.com/gitlab-examples/ssh-private-key/issues/1#note_48526556
##
- echo "$SSH_PRIVATE_KEY" | tr -d '\r' | ssh-add - > /dev/null使用这个命令对我有效。
https://stackoverflow.com/questions/44822678
复制相似问题