小编Dar*_*Btf的帖子

在Gitlab CI构建中,我无法通过私钥进入AWS EC2

刚开始,我试图在gitlab CI构建之后使用ansible进行部署,但是结果显示“主机无法访问”。

经过一番尝试和错误后,我发现问题是当通过私钥ssh进入我的AWS EC2实例进行部署时,ssh权限被拒绝。

我的.gitlab-ci.yml配置是这样的:

.gitlab-ci.yml

image: ansible/ubuntu14.04-ansible:stable

stages:
  - deploy

deploy_web:
  stage: deploy
  script:
   - "echo Ansible"
   - "echo Environment: ${ENV}"
   - "echo TAG: ${TAG}"

   - "echo ${VAULT_PASS} > vault_pass.txt"
   - "mkdir sshkey"
   - "echo ${SSH_KEY_APP} > ./sshkey/app-key.pem"
   - "chmod 600 ./sshkey/app-key.pem"
   - "export SSH_KEY_DIR=`pwd`/sshkey"
   - "export ANSIBLE_HOST_KEY_CHECKING=False"
   - "ssh-keyscan foobar.io >> ~/.ssh/known_hosts"
   - "ssh -v -i ./sshkey/app-key.pem ubuntu@foobar.io" // for debugging

   - "ansible-playbook -i ${ENV} servers.yml --vault-password-file vault_pass.txt -vvvv --tags=${TAG}"
Run Code Online (Sandbox Code Playgroud)

当gitlab CI构建它时,它基本上会给出以下ssh错误消息:

OpenSSH_6.6.1, OpenSSL 1.0.1f 6 Jan 2014 …
Run Code Online (Sandbox Code Playgroud)

ssh shell amazon-ec2 gitlab gitlab-ci

5
推荐指数
1
解决办法
2053
查看次数

标签 统计

amazon-ec2 ×1

gitlab ×1

gitlab-ci ×1

shell ×1

ssh ×1