【问题标题】:user@ip: Permission denied (publickey).?user@ip:权限被拒绝(公钥)。?
【发布时间】:2019-08-12 22:32:20
【问题描述】:

试图从我自己托管的 git-lab 服务器推送到另一台服务器, 我正在尝试推动 throw CI/CD 和 git-lab runner

我的.gitlab-ci 是:

stages:
  - build
  - test

before_script:
  - 'which ssh-agent || ( apt-get install -qq openssh-client )'
  - eval $(ssh-agent -s)
  - ssh-add <(echo "$SSH_PRIVATE_KEY")
  - mkdir -p ~/.ssh
  - chown $USER ~/.ssh/config
  - chmod 600 ~/.ssh/config
  - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config'

build:
  stage: build
  script:
    - echo "Building..."
    - ssh $DEPLOY_USER@$DEPLOY_SERVER "cd var/www/ && ls && exit"

test:
  stage: test
  script:
    - echo "Testing..."

我刚刚在要推送到的服务器上创建了一个 ssh 密钥,并将私钥作为 git-lab 变量添加到 git-lab 服务器,然后在脚本.gitlab-ci 中使用它,但没有在任何地方添加任何公钥,我得到了错误:

user@ip:权限被拒绝(公钥)。

在构建阶段,请提供任何帮助,并在此先感谢您,

【问题讨论】:

  • 您需要在$DEPLOY_SERVER 上将公钥添加到/home/user/.ssh/authorized_keys。你能试试这个并告诉我们结果吗?
  • 它工作了thanksssssssss,如果你想添加一个,我可以接受作为答案。

标签: git ssh


【解决方案1】:

您需要将公钥添加到$DEPLOY_SERVER 上的/home/user/.ssh/authorized_keys,这基本上告诉服务器哪些公钥被授权通过使用用户名user 的ssh 访问服务器

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-03-11
    • 2019-11-24
    • 2014-11-08
    • 2012-01-18
    • 2012-04-25
    • 2014-03-18
    • 2023-03-22
    相关资源
    最近更新 更多