Hap*_*der 4 git ssh shell jenkins docker
我使用 shell 脚本作为 Jenkinsfile 的一部分来运行数据库迁移。shell 脚本在文件中设置条目后尝试克隆存储库known_hosts。我正在做以下事情:
#!/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
Run Code Online (Sandbox Code Playgroud)
这给了我一个错误
Permission denied (publickey).
fatal: Could not read from remote repository.
Run Code Online (Sandbox Code Playgroud)
怎么解决这个问题呢?
顺便说一句,当我检查已知的主机文件时,我发现文件中已添加一个条目,其 IP192范围为(本地 IP)。这是造成问题的原因吗?
不是因为known_hosts 文件。正如它所说,我认为这是你的私钥。
您是否已将正确的私钥复制到容器中?因为我在你的剧本中没有看到它。
您可以通过键入以下内容来测试您的密钥:
ssh -T git@github.com
Run Code Online (Sandbox Code Playgroud)
我相信你也会看到同样的结果。
您可以检查 github 上的此链接错误:权限被拒绝(公钥)。
| 归档时间: |
|
| 查看次数: |
14532 次 |
| 最近记录: |