在 Yocto 中,如何通过非标准端口上的 ssh 读取 git 存储库

Tux*_*xin 5 git yocto

我创建了一个包含这些定义的配方:

SRC_URI = "git://git:<password>@<ip address>:<ssh_port>/home/git/tuxin-repo/project.git;protocol=ssh;branch=test"
SRCREV_default = "5a0b8545d39c97bd9f9628143ed174dabb71f641"
Run Code Online (Sandbox Code Playgroud)

bitbake 以错误结束

错误:Fetcher 失败:Fetch 命令失败,退出代码为 128,输出:克隆到裸仓库 '/home/yocto/build/downloads/git2/..home.git.tuxin-repo.project.git'... 权限被拒绝, 请再试一次。权限被拒绝,请重试。权限被拒绝(公钥,密码)。致命:无法从远程存储库读取。

请确保您拥有正确的访问权限并且存储库存在。

错误:函数失败:URL 的 Fetcher 失败:'git://git:@:/home/git/tuxin-repo/project.git;protocol=ssh;branch='test''。无法从任何来源获取 URL。错误:故障日志文件存储在:/home/yocto/build/tmp/work/cortexa8hf-vfp-neon-poky-linux-gnueabi/capsystem/1.0-r0/temp/log.do_fetch.7045 错误:任务 4(/ home/yocto/sources/poky/../meta-tuxin/recipes-support/project/project.bb, do_fetch) 失败,退出代码为“1”

在命令行中,输入密码后,项目被加载。

git clone --branch test ssh://git@<ip_address>:<ssh_port>/home/git/tuxin-repo/project.git
Run Code Online (Sandbox Code Playgroud)

有人可以向我解释我的错误吗?

小智 6

您必须以这种方式指定 SRC_URI:

SRC_URI = "git://git@<ip address>:<ssh_port>/home/git/tuxin-repo/project.git;protocol=ssh;branch=test"
Run Code Online (Sandbox Code Playgroud)

请注意IP 地址前使用git@ 。您不能在 SRC_URI 中指定密码作为安全措施。对于自动身份验证,您必须使用其他方法,例如 .ssh/config