【问题标题】:Testing Gitlab ci cd how to solve "the connection is refused" "no matching host key type found"测试 Gitlab ci cd 如何解决“连接被拒绝”“找不到匹配的主机密钥类型”
【发布时间】:2022-10-04 18:08:28
【问题描述】:

Gitlab CI/CD 无法连接到我的远程 vps。 我以https://gitlab.com/gitlab-examples/ssh-private-key 为例制作了一个.gitlab-ci.yaml 文件,其内容:

image: ubuntu

before_script:
  - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client git -y )'
  - eval $(ssh-agent -s)
  - echo "$SSH_KEY_VU2NW" | tr -d '\r' | ssh-add -
  - mkdir -p ~/.ssh
  - chmod 700 ~/.ssh
  - ssh-keyscan (domain name here) >> ~/.ssh/known_hosts
  - chmod 644 ~/.ssh/known_hosts

Test SSH:
  script:
  - ssh root@(IP address here)

跑步者回应

连接被拒绝

服务器身份验证日志说

sshd[2222]:无法与 XXXXX 端口 53068 协商:无匹配 找到主机密钥类型。他们的报价:sk-ecdsa-sha2-nistp256@openssh.com [预授权]

sshd[2220]:无法与 XXXXX 端口 53068 协商:否 找到匹配的主机密钥类型。他们的报价:sk-ssh-ed25519@openssh.com [预授权]

有没有办法解决这个问题?我已经尝试连接到另一个 VPS,也没有运气。

【问题讨论】:

  • 也许这是一个关键的格式问题? (我used ssh-keygen -t rsa -P "" -m PEM)用于测试旧格式。
  • 感谢@VonC 的提示,不幸的是,我尝试了与之前相同的结果。
  • 是的,我想到了这一点并尝试了 Host * StrictHostKeyChecking no Host * HostKeyAlgorithms +sk-ecdsa-sha2-nistp256 PubkeyAcceptedKeyTypes +sk-ssh-ed25519 但是,不,它没有用......

标签: continuous-integration gitlab-ci-runner


【解决方案1】:

终于让它工作了,在 .gitlab-ci.yaml 文件中有这些内容:

image: ubuntu
before_script:
  - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client git -y )'
  - eval $(ssh-agent -s)
  - mkdir -p /root/.ssh
  - chmod 700 /root/.ssh
  - echo "$SSH_KEY_GITLAB" >> /root/.ssh/id_rsa  
  - ssh-keyscan DOMAINNAME >> /root/.ssh/known_hosts
  - chmod 644 ~/.ssh/known_hosts
  - chmod 400 ~/.ssh/id_rsa
Test SSH:
  script:
  - ssh root@DOMAINNAME

其中 $SSH_KEY_GITLAB 在 Gitlabs 的 Settings > CICD 部分中设置,并且是由 Putty 生成的私钥,在 Putty 中转换为开放的 SSH 密钥。 此密钥的公共版本必须在目标主机的 ~/.ssh/authorized_keys 中 ...并且 DOMAINNAME 必须是驻留在目标主机上的域,或者 DNS 记录无论如何都应该指向那里。

【讨论】:

    猜你喜欢
    • 2021-09-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多