我有一个bash脚本在Windows机器上运行命令(让我们称之为机器A)在bitbucket上拉出一个存储库(使用git),然后运行特定的程序来处理拉出的内容。
我还有一台运行Jenkins的ubuntu机器。在构建步骤中,我使用“Publish Over SSH”插件在计算机A上运行bash脚本。
除非git必须提取包含大文件的提交并且失败并出现此错误,否则一切都会顺利进行:
下载测试x_map.fbx(31 MB)下载对象时出错:x_map.fbx(63b3f85):涂抹错误:下载x_map.fb x时出错 (散列):批量请求:git@bitbucket.org:权限被拒绝(公钥): 退出状态255
问题是git的LFS部分不使用SSH密钥,即使我在git config中设置了core.sshCommand以使用所有ssh命令的密钥。
所以当我这样做时: ssh git@bitbucket.org git-lfs-authenticate“reopsitory”downlaod 它失败了这条消息:git@bitbucket.org:权限被拒绝(公钥)
但是当我使用ssh key选项运行它时它工作正常: ssh -i“ssh-key-path”git@bitbucket.org git-lfs-authenticate“reopsitory”downlaod
所以我想知道是否有任何解决方法来重载所有LFS ssh命令以使用特定的ssh密钥,例如git config中的core.sshCommand。
我几乎没有坚持这个,所以我希望你们有一个神奇的解决方案!在此先感谢您的帮助。
编辑: 在git pull命令之前添加: eval $(ssh-agent -s) ssh-add“key-path”使这个命令工作:[ssh git@bitbucket.org git-lfs-authenticate“reopsitory”downlaod]但是git pull仍然失败并出现同样的错误