簡體   English   中英

Gitlab-ci高山映像:主機密鑰驗證失敗

[英]Gitlab-ci alpine image : Host key verification failed

在gitlab中,我使用maven圖像構建我的工作,然后將jar復制到ssh服務器->運行正常。

對於php項目,我嘗試使用alpine image 但是我被拒絕,因為“ 主機密鑰驗證失敗 ”。

服務器和密鑰相同。

不起作用

image: alpine:latest
stages:
  - deploy
deploy:
  before_script:
    - apk add --update openssh-client bash
    - eval $(ssh-agent -s)
    - bash -c 'ssh-add <(echo "$SSH_PRIVATE_KEY")'
  stage: deploy
  script:
    - ssh root@devsb01 "ls"

工作方式

  image: maven:3.6.0-jdk-10-slim
   stages:
      - deploy
   deploy:
      before_script:
        - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )'
        - eval $(ssh-agent -s)
        - ssh-add <(echo "$SSH_PRIVATE_KEY")
        - '[[ -f /.dockerenv ]] && mkdir -p ~/.ssh && echo "$KNOWN_HOST" > ~/.ssh/known_hosts'
        - mkdir -p ~/.ssh
        - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'
      stage: deploy
      script:
        - ssh root@devsb01 "ls"

我認為這與ssh密鑰的添加方式有關。

嘗試將這些內容添加到兩行:

- mkdir ~/.ssh
- ssh-keyscan -t rsa devsb01 >> ~/.ssh/known_hosts

這個對我有用!

您的文件將如下所示:

image: alpine:latest
stages:
  - deploy
deploy:
  before_script:
    - apk add --update openssh-client bash
    - eval $(ssh-agent -s)
    - bash -c 'ssh-add <(echo "$SSH_PRIVATE_KEY")'
    - mkdir ~/.ssh
    - ssh-keyscan -t rsa devsb01 >> ~/.ssh/known_hosts
  stage: deploy
  script:
    - ssh root@devsb01 "ls"

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM