Docker容器内的Git权限被拒绝

时间:2018-05-22 05:44:35

标签: git shell docker jenkins ssh

我使用shell脚本作为Jenkinsfile的一部分来运行数据库迁移。在known_hosts文件中设置条目后,shell脚本会尝试克隆存储库。我正在做以下事情:

    #!/bin/bash

    set -e

    # Workaround old docker images with incorrect $HOME
    # check https://github.com/docker/docker/issues/2968 for details
    if [ "${HOME}" = "/" ]
    then
      export HOME=$(getent passwd $(id -un) | cut -d: -f6)
    fi

    mkdir -p ~/.ssh

    echo '
    github.com ssh-rsa KEY
  ' >> ~/.ssh/known_hosts

    git clone git@github.com:Organization/migrations.git /tmp/database-migrations

   Execute Migration

这给了我一个错误

Permission denied (publickey).
fatal: Could not read from remote repository.

如何解决这个问题?

BTW当我检查已知的hosts文件时,我看到一个条目已被添加到文件中,其IP为192范围(本地IP)。这会造成问题吗?

1 个答案:

答案 0 :(得分:2)

不是因为known_hosts文件。正如它所说,我认为这是你的私钥。

您是否将正确的私钥复制到容器中?因为我没有在你的剧本中看到它。

您可以输入以下内容来测试密钥:

blue

我相信你会看到同样的结果。

您可以在github上查看此链接Error: Permission denied (publickey)