我正在使用Yocto,我希望能够从本地git服务器获取源代码,这是我网络上的另一台机器。
这个命令通过终端
运行正常git clone git@192.168.30.58:/home/git/linux-imx
现在的问题是我不知道如何在Yocto配方上设置KERNEL_SRC
变量的语法。
我已经试过了
KERNEL_SRC ?= "git://git@192.168.30.58/home/git/linux-imx;protocol=ssh;branch=${SRCBRANCH}"
和
KERNEL_SRC ?= "git://192.168.30.58/home/git/linux-imx;protocol=ssh;branch=${SRCBRANCH}"
但我得到以下错误
Permission denied, please try again.
Permission denied, please try again.
bherrera@192.168.30.58: Permission denied (publickey,password).
fatal: Could not read from remote repository.
Please make sure you have the correct access rights
and the repository exists.
我还在我的系统上设置了RSA公钥。在使用SSH时,它不要求输入密码。我运行这个命令将我的RSA密钥复制到我已经设置的本地git服务器上。
ssh-copy-id git@192.168.30.58
这是我的语法。
KERNEL_SRC ?= "git://git@192.168.30.58:/home/git/linux-imx;protocol=ssh;branch=${SRCBRANCH}"
需要生成RSA密钥。要生成RSA密钥,首先在客户端运行此命令。(不要添加密码短语,否则在Yocto中获取会失败)。
ssh-keygen -t rsa -b 4096
将以下内容添加到~/.ssh/config
文件中。这将默认连接使用生成的密钥。
Host 192.168.30.58
User git
IdentityFile /home/user/.ssh/id_rsa
最后,运行以下命令将公钥复制到Git服务器。
ssh-copy-id git@192.168.30.58