来自 gitlab alpine runner 的 SSH 连接问题

问题描述 投票:0回答:0

我正面临 gitlab ci 的问题。 我有一个

deploy
阶段,应该通过 ssh 联系我的 VPS 并询问我的 gitlab 注册表。

问题是当你试图通过我的 ssh 验证我的 alpine runner 时。 这是我的部署:

deploy:
  tags:
    - springVps
  image: alpine:3.6
  stage: deploy

  before_script:
   - apk update
   - 'which ssh-agent || ( apk update -y && apk add openssh-client -y )'
   - mkdir -p ~/.ssh
   - eval $(ssh-agent -s)
   - echo "$SSHVPS" | ssh-add -
   - ssh-keyscan -H myawesomedomain.fr >> ~/.ssh/known_hosts
  script:  
    - ssh -o StrictHostKeyChecking=no -o UserKnownHostsFile=/dev/null -p 51 -v -v -v [email protected] "echo Hello, world!"

我在这里找到了这段代码:https://gitlab.com/gitlab-examples/ssh-private-key/-/issues/4#note_35042568

这是我的错误信息:SSH Permission denied (publickey,password)

注意:我将 ssh 端口从 22 更改为 51,但我遇到了同样的问题 之前。

搜索我的错误代码,我发现这篇文章:Gitlab CI - SSH Permission denied (publickey,password)

我不完全理解接受的答案:

您需要将公钥添加到服务器以便被识别 作为身份验证密钥。这个就是,贴上公钥的内容 对应于您正在使用的私钥 ~/.ssh/authorized_keys 在 $PRODUCTION_SERVER 上。

这是否意味着我应该将我的 vps 公钥放入

~/.ssh/authorized_keys
? 我在我的 vps 上执行了以下命令行:
cat ~/.ssh/id_rsa.pub > ~/.ssh/authorized_keys

现在我的

~/.ssh/authorized_keys
包含我的 vps 公钥,但这并不能解决我的问题。 我还验证了我的变量
$SSHVPS
具有良好的价值,我试图将变量作为文件,并且作为变量,变量没有被保护。我已经在 gitlab 中注册了我的 vps 公钥。

然后我尝试使用此命令行从本地计算机连接到我的 vps:

ssh -i key [email protected] -p 51

这个命令问我密码,它问我密码似乎不正常。 我想这就是失败的原因,我的 vps 向我的高山跑步者询问密码,但不应该这样做。

我做了很多搜索,这可能是一个权限错误。我发现这些命令行使

~/.ssh/authorized_keys
可读和可编辑。

这是我试过的:

chmod -v 700 ~ 
chmod -v 700 ~/.ssh
chmod -v 600 ~/.ssh/authorized_keys

但我仍然有同样的问题。 我的想法用完了,欢迎任何帮助;) 感谢阅读 :-)

ssh gitlab vps alpine-linux cicd
© www.soinside.com 2019 - 2024. All rights reserved.