gitlab CI:加载密钥错误:格式无效 [英] gitlab CI : Error loading key : invalid format
问题描述
自2天以来,我一直在解决这个问题.
I'm stuck with this problem since 2 days.
尝试使用我的生产服务器中的id_rsa.pub和id_rsa,仍然出现相同的错误... SSH_PRIVATE_KEY是我在GitLab的CI/CD设置中创建的变量.
Tried with id_rsa.pub and id_rsa from my production server, still the same error... SSH_PRIVATE_KEY is a variable I created in the CI/CD Settings on GitLab.
不受保护,未被屏蔽.
# This file is a template, and might need editing before it works on your project.
# Official framework image. Look for the different tagged releases at:
# https://hub.docker.com/r/library/node/tags/
image: node:alpine
stages:
- deploy
deploy:
stage: deploy
before_script:
# Install ssh-agent if not already installed, it is required by Docker.
# (change apt-get to yum if you use a CentOS-based image)
- 'which ssh-agent || ( apk add --update openssh )'
# Add bash
- apk add --update bash
# Add git
- apk add --update git
# Run ssh-agent (inside the build environment)
- eval $(ssh-agent -s)
# Add the SSH key stored in SSH_PRIVATE_KEY variable to the agent store
- echo "$SSH_PRIVATE_KEY"
- echo "$SSH_PRIVATE_KEY" | ssh-add -
# For Docker builds disable host key checking. Be aware that by adding that
# you are suspectible to man-in-the-middle attacks.
# WARNING: Use this only with the Docker executor, if you use it with shell
# you will overwrite your user's SSH config.
- mkdir -p ~/.ssh
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
# In order to properly check the server's host key, assuming you created the
# SSH_SERVER_HOSTKEYS variable previously, uncomment the following two lines
# instead.
# - mkdir -p ~/.ssh
# - '[[ -f /.dockerenv ]] && echo "$SSH_SERVER_HOSTKEYS" > ~/.ssh/known_hosts'
script:
- npm i -g pm2
- pm2 deploy ecosystem.config.js production
only:
- master
当我运行管道时,仍然出现此错误...
And when I run the pipeline, I still get this error...
$ echo "$SSH_PRIVATE_KEY" | ssh-add -
Error loading key "(stdin)": invalid format
能请你帮忙吗?我无助,无知,无望了...
Could you please help ? I'm helpless, clueless, hopeless loading...
非常感谢!
推荐答案
SSH_PRIVATE_KEY是我在GitLab的CI/CD设置中创建的变量.
SSH_PRIVATE_KEY is a variable I created in the CI/CD Settings on GitLab.
这是此处记录
在值"字段中粘贴您先前创建的私钥的内容.
in the Value field paste the content of your private key that you created earlier.
因此,请确保已粘贴id_rsa
的完整内容,包括-----BEGIN RSA PRIVATE KEY-----
和-----END RSA PRIVATE KEY-----
(带有5个最终的-
)
So make sure you have pasted the id_rsa
full content, including -----BEGIN RSA PRIVATE KEY-----
and -----END RSA PRIVATE KEY-----
(with 5 final -
)
Stephane Paquet 添加
确保您复制了所有必需的信息. to make sure you copy all the required information. 这篇关于gitlab CI:加载密钥错误:格式无效的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!cat ~/.ssh/id_rsa | pbcopy