当我的“ .gitlab-ci.yml ”尝试远程访问我的Ubuntu服务器时,我收到“输入密码/ / dev / fd / 63 ”错误执行SSH命令。</ p>
我创建了一个名为“ STAGING_PRIVATE_KEY ”的新变量,该值是我个人用来SSH到服务器的私钥,但为“提供了相同的密钥。”gitlab- ci.yml“无法进行身份验证。
以下是我的 yml 文件:
deploy_staging:
stage: deploy
before_script:
- 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
- mkdir -p ~/.ssh
- eval $(ssh-agent -s)
- '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
script:
- ssh-add <(echo "$STAGING_PRIVATE_KEY" | base64 --decode)
- cd test
- git pull
- echo "deployed to staging server"
environment:
name: staging
url: MY SERVER
答案 0 :(得分:2)
我使用以下代码段通过create_login_profile
作业ssh,STAGING_SSH_KEY作为变量存储在Settings-> CI / CD-> Variables
.gitlab-ci.yml
答案 1 :(得分:0)
由于openssh是使用Git for Windows的软件包,请尝试使用opeenssh密钥(使用ssh-keygen生成),不使用(现在)使用密码(以避免需要ssh-agent)< / p>
在AWS端注册您的openssh公钥(默认id_rsa.pub) 例如,&#34; Importing Your Own Public Key to Amazon EC2&#34;。