拒绝作曲家权限(公钥)



我在BitBucket上有一个私有存储库,我试图使用作曲家安装在本地主机上安装,这是我的composer.json文件:

{
"repositories": [
    {
        "type": "git",
        "url":  "git@bitbucket.org:username/repo.git"
    }
]
}

当我从命令行运行作曲家安装时,我得到:

[运行时异常] 无法执行 git 克隆 --mirror "git@bitbucket.org:username/repo.git" "C:/Users/...../" 正在克隆到裸存储库"C:/Users/....."中... 权限被拒绝(公钥)。 致命:无法从远程存储库读取。 请确保您拥有正确的访问权限 并且存储库存在。

我的密钥对有一个密码短语,但作曲家从不要求它,我正在运行 Windows 10,正在运行 Pageant 客户端并选择了正确的密钥。

还有一个包含此数据的配置文件:

Host bitbucket.org
IdentityFile ~/.ssh/openssh (yes my key name is openssh)

有趣的是,如果我复制并粘贴此命令:

git clone --mirror "git@bitbucket.org:username/repo.git"

我确实被要求提供我的密码,然后它开始克隆存储库。

可能出了什么问题? 有关此错误的大多数信息直接指向 git 命令,但在我的情况下,它们有效,不起作用的是作曲家,我做错了什么?

我遇到了同样的问题,这篇文章的答案帮助了我为什么 git 不记得我在 Windows 下的密码短语

我所做的只是在CMD中运行"start-ssh-agent"并提供密码。

第三种解决方案假定使用窗口、msysgit 和本机命令提示符。

安装 msysgit

确保允许在 MS-DOS 上使用 git

命令提示符运行启动 ssh-agent

输入 SSH 密码短语

全部完成!吉特命令现在应该在本机命令提示符下工作。

1. 确保您的公钥已加载到 Bitbucket 云中

  1. 打开浏览器并登录Bitbucket Cloud。
  2. 从菜单栏中选择用户名>管理帐户。系统将显示"帐户设置"页。
  3. 单击 SSH 密钥。此时将显示"SSH 密钥"页面。它显示任何现有密钥的列表。
  4. 如果未列出您的密钥,请设置一个。

2. 确保您的身份已加载到 SSH 代理中

打开选美大赛以查看加载的密钥。如果您的密钥不在列表中,请单击 Add Key

您可以测试要发送的密钥

ssh -T git@bitbucket.org

遇到与OP描述的相同问题后,我也尝试按照为什么git在Windows下不记得我的密码的说明进行操作

但我将我的步骤限制在以下方面:

  1. 运行PuTTY的选美.exe,打开您的.ppk文件("添加密钥"),然后提供密钥的密码。
  2. 访问窗口的环境变量对话框(右键单击"计算机",单击"属性",单击"高级系统设置"或"高级"选项卡,单击"环境变量")。添加以下环境变量:

    GIT_SSH=C:\full\path\to\plink.exe

重新启动命令行工具后(对于使新的 env 变量生效很重要),它起作用了。

最新更新