作曲家权限被拒绝(公钥)

时间:2016-01-19 14:52:07

标签: git composer-php bitbucket

我在BitBucket上有一个私人仓库,我试图使用composer install在localhost上安装,这是我的composer.json文件:

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

当我从命令行运行composer install时,我得到:

  

[RuntimeException的]     无法执行git clone --mirror“git@bitbucket.org:username / repo.git”“C:/ Users /...../”     克隆到裸存储库'C:/ Users / .....'...     权限被拒绝(publickey)。     致命:无法从远程存储库读取。     请确保您拥有正确的访问权限     存储库存在。

我的密钥对有一个密码,但是编写器从不要求它,我正在运行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命令,但在我的情况下它们有效,什么不起作用的是作曲家,我做错了什么?

3 个答案:

答案 0 :(得分:4)

我有同样的问题,这篇文章的答案帮助了我 Why git can't remember my passphrase under Windows

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

  

第三个解决方案假设Window,msysgit和本机命令提示符。

     

安装msysgit

     

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

     

命令提示符运行start-ssh-agent

     

输入SSH密码

     

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

答案 1 :(得分:1)

1。确保您的公钥已加载到Bitbucket Cloud

  1. 打开浏览器并登录Bitbucket Cloud。
  2. 选择用户名>从菜单栏管理帐户。系统显示“帐户设置”页面。
  3. 单击SSH密钥。将显示“SSH密钥”页面。它显示了任何现有密钥的列表。
  4. 如果您的密钥未列出,请设置一个。
  5. 2。确保您的身份已加载到SSH代理

    打开Pageant查看加载的密钥。如果您的密钥不在列表中,请点击Add Key

    您可以测试要发送的密钥

    ssh -T git@bitbucket.org
    

答案 2 :(得分:0)

面对与OP描述的相同的问题,我也尝试遵循Why git can't remember my passphrase under Windows上的说明

但是我的步骤仅限于这些:

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

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

重新启动命令行工具后(重要的是使新的env变量生效)。