如何解决如何向 GitHub Actions 提供 SSH 密钥,以便 pip 可以从 git 存储库安装?
我想在 GitHub 操作作业中pip install
私有 GitHub 存储库中的库。我可以在我的计算机上安装它就好了,因为我已经将 GitHub 配置为接受 SSH 密钥。但是我如何向 GitHub Actions 运行程序提供 SSH 密钥?
在我的电脑上,这工作正常:
python -m pip install "git+ssh://git@github.com/ORG/LIBRARY.git@main#egg=SOMETHING&subdirectory=SOMETHING"
Collecting LIBRARY
Cloning ssh://****@github.com/ORG/LIBRARY.git (to revision main) to /tmp/pip-install-_kw52ce5/LIBRARY_35c4fb5cf6a64e30914beaec4a768bd1
Installing build dependencies ... done
...
Successfully built LIBRARY-0.1.1
为了隐私,我更改了图书馆、组织和目录的名称。来自 GitHub 存储库的 pip 安装文档为 here。
我尝试了 this 指南和 this GitHub 操作,但没有成功。在 GitHub Actions 中,我收到此错误消息:
Step 15/20 : RUN pip install -r requirements.txt
---> Running in 5ece3eb6572e
Collecting LIBRARY@ git+ssh://git@github.com/ORG/LIBRARY.git@main#egg=SOMETHING&subdirectory=SOMETHING
Cloning ssh://****@github.com/ORG/LIBRARY.git (to revision main) to /tmp/pip-install-ohx86p2h/LIBRARY_2972ab1296ce45afa73bbb3c5a036bd1
Running command git clone -q 'ssh://****@github.com/ORG/LIBRARY.git' /tmp/pip-install-ohx86p2h/LIBRARY_2972ab1296ce45afa73bbb3c5a036bd1
Host key verification failed.
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
如何向 GitHub Actions 运行程序提供 SSH 密钥?
解决方法
我认为“主机密钥验证失败”表明 ~/.ssh/known_hosts 文件存在问题。通常,您第一次通过 ssh 连接到主机时,系统会提示您类似以下内容:
The authenticity of host 'domain.com (a.b.c.d)' can't be established.
RSA key fingerprint is XX:XX:...:XX.
Are you sure you want to continue connecting (yes/no)?
当您回答是时,主机密钥会自动添加到 known_hosts 文件中。您可以手动将主机密钥添加到运行您的 Github Actions 的用户的 known_hosts 文件中:
- 直接从 github 管理员或登录 github.com 后获取主机密钥(更安全 - 强烈建议)。
- 使用
ssh-keyscan -H github.com >> ~/.ssh/known_hosts
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。