即使公钥已创建并保存在我的 github 配置文件中,远程 github 访问仍被拒绝

use*_*011 5 ssh github docker docker-compose airflow

我在github上问了同样的问题,但没有回复。所以,我认为这里可能是提出此类编码问题的更好地方,因为这是我尝试做一些编码工作时遇到的问题。

我想在运行 macOS 10.14.x 的 MacBook Pro 上使用 docker 设置气流。

我有 zpencerq/docker-airflow:1.10.2 并按照https://docs.docker.com/compose/install/#install-compose上的说明进行操作

另外,我已经按照https://github.com/uber-common/docker-ssh-agent-forward中的说明设置了 ssh 代理转发

当我跑步时:

 docker-compose up -d
Run Code Online (Sandbox Code Playgroud)

我有:

Collecting my-data-store from git+ssh://git@github.com/my-data-store.git@v.xx.xx.x#egg=my-data-store

Cloning ssh://git@github.com/my-data-store.git to /my/local/path

Permission denied (publickey).

fatal: Could not read from remote repository.
Run Code Online (Sandbox Code Playgroud)

我已经创建了 ssh 公钥并将 ssh 公钥添加到我的 git 配置文件中。我还添加了我的私钥。

我已经尝试过针对此类问题的一些答案,但没有一个有效。

如果我在 Mac 终端中运行以下命令,效果很好。

git clone -q ssh://git@github.com/my_path/my-data-store.git /tmp/my_folder
Run Code Online (Sandbox Code Playgroud)

为什么 docker-compose 不能做同样的事情来访问 github ?

我错过了什么吗?

all*_*ded 8

听起来您还没有添加密钥。从您的 OSX 终端内部尝试一下...

ssh-add

然后再试一次。


Von*_*onC 1

为什么 docker-compose 不能做同样的事情来访问 github ?

因为它(docker)会在$HOME/.ssh/id_rsa(.pub).

git clone -q ssh://git@github.com/...当您从 Mac执行时,$HOME 是您的常规主目录。

但对于容器来说,它是/root默认的,或者是用户的。

您应该将这些密钥安装在您的docker-compose.yml(或使用 Secret)中。