【问题标题】:gpg: can't connect to the agent: IPC connect call failedgpg:无法连接到代理:IPC 连接调用失败
【发布时间】:2018-03-22 06:32:45
【问题描述】:

我在尝试使用 GPG 解密某些密钥时遇到问题。给我以下输出:

gpg: can't connect to the agent: IPC connect call failed

我已经编辑了一些文件,在本教程中指出:https://michaelheap.com/gpg-cant-connect-to-the-agent-ipc-connect-call-failed/ 但没有成功。

可能的原因?

提前致谢

【问题讨论】:

    标签: gnupg


    【解决方案1】:

    我杀死特工时遇到了同样的问题。它无法再次连接到代理。所以我不得不删除所有与 gpg gpg 相关的包,然后重新安装。我也必须删除 gpg-agent 。 所以我做了什么

    sudo apt remove gpg gpg-agent
    sudo apt-get install -y gpg 
    

    【讨论】:

      【解决方案2】:

      在 windows 子系统中,Ubuntu 20 执行以下步骤:

      1. sudo apt remove gpg
      2. sudo apt-get update -y
      3. sudo apt-get install -y gnupg1

      之后出现“确定”的步骤

      【讨论】:

        【解决方案3】:

        即使我在 Ubuntu 20 WSL 中遇到了上述问题,我也尝试了以下所有方法 |以上建议,但没有一个对我有用。

        root@7400-9888K13:/mnt/c/Users/PKammari# wget -q -O - https://packages.cloudfoundry.org/debian/cli.cloudfoundry.org.key | sudo apt-key add -
        gpg: can't connect to the agent: IPC connect call failed
        

        我做了什么来解决这个问题?

        • 移除 gpg
        • 安装其他版本的 gpg。

        我该怎么做?
        apt remove gpg(按照说明操作)
        apt install gnupg1(按照说明操作)

        选项 2。 sudo apt update --y

        `sudo apt remove gpg`
        
        `sudo apt-get update -y`
        
        `sudo apt-get install -y gnupg1` 
        

        证明。 (参考截图):

        【讨论】:

        • WSL2 Ubuntu-20.04。这可以帮助我解决问题
        • WSL1 Ubuntu-20.04。这也为我解决了这个问题(尝试安装 Sublime)。
        • 在 WSL2 Ubuntu-20.04 上为我工作(尝试安装 docker)
        • 在 WSL1 Ubuntu 上,这对我有用。谢谢。尝试安装纱线
        • 在 WSL2 Ubuntu-20.04 上对我不起作用 --- 不断出现错误:gpg 无法签署数据致命:无法写入提交对象我确实有一个密钥
        【解决方案4】:

        我不得不使用:

        sudo apt autoremove gpg gnupg1 gnupg2
        

        【讨论】:

          【解决方案5】:
          apt-get install -y gnupg gnupg1
          cp -a /usr/bin/gpg /usr/bin/gpg2
          ln -sf /usr/bin/gpg1 /usr/bin/gpg
          

          apt-key 在执行这些命令后为我工作。

          我是 Ubuntu 20.04(Windows 10 Build 2004)的 WSL 2.0。

          原因:

          卸载 gnupg (2.x) 也会卸载 gpg-agent,这是必需的。

          安装 gnupg1 (1.x) 将只安装 gpg 二进制文件,而不是 gpg-agent。

          两者都需要工作,但我们希望 gnupg1 (1.x) 成为默认的“gpg”命令(尽管使用 2.x 支持工具)。

          【讨论】:

          • 这实际上是我在 Ubuntu 18.04 上的解决方案,谢谢!
          【解决方案6】:

          对我来说,之前的回复有效,但部分原因是,在我的案例中,the magic 是所有回复的组合,请参阅下面的命令。

          如果您收到错误add-apt-repository: command not found,那么,install package software properties common

          sudo apt remove gpg
          sudo apt-get update -y
          sudo apt-get install -y gnupg1
          
          # In case of Error when adding "ppa" with message: add-apt-repository: command not found
          sudo apt-get install software-properties-common
          
          # Now, the hack
          sudo add-apt-repository ppa:rafaeldtinoco/lp1871129
          sudo apt update
          wget https://launchpad.net/~rafaeldtinoco/+archive/ubuntu/lp1871129/+files/libc6_2.31-0ubuntu8+lp1871129~1_amd64.deb
          sudo dpkg --install libc6_2.31-0ubuntu8+lp1871129~1_amd64.deb
          sudo apt-mark hold libc6 #to avoid further update
          
          # Edit: /var/lib/dpkg/info/libc6:amd64.postinst and remove the sleep 1 that is in nearly the last line.
          

          【讨论】:

          • yaaaaaassssssssss!
          • 我试过了,但现在它就像安装了 NodeJS,但我不知道在哪里(它不在 /usr/bin 中):sudo apt install nodejs ... .nodejs is already the newest version (12.18.3-deb-1nodesource1). ... nodejs -vCommand 'nodejs' not found, but can be installed with: sudo apt install nodejs
          • @StanislavDušek,就我而言,我在 Ubuntu 中安装了:sudo apt-get install nodejs 然后,只需运行:node -v (whitout 'js') $ node -v >> 输出:v14.8.0 你有吗试过了吗?
          • libc6 nanosleep 的问题在下一次 Windows 更新中得到修复。
          • @AdrianEscutiaSoto 我需要它在 Ubuntu 上安装新的 NodeJS,最后,我使用了不同的解决方案 - gist.github.com/noygal/6b7b1796a92d70e24e35f94b53722219 - 简而言之,通过安装具有最新 nvm 的节点 :)
          【解决方案7】:

          希望为那些对此非常陌生的人添加以上 preetam 的出色答案。

          安装 gnupg1 - 如果您收到错误“包 gnupg1 不可用,但已引用.....”

          sudo apt remove gpg
          sudo apt-get update -y
          sudo apt-get install -y gnupg1 
          

          【讨论】:

            【解决方案8】:

            在 WSL1 Ubuntu 20.04 上可用以下解决方法:https://github.com/microsoft/WSL/issues/5125#issuecomment-619097534

            sudo add-apt-repository ppa:rafaeldtinoco/lp1871129
            sudo apt update
            sudo apt install libc6=2.31-0ubuntu8+lp1871129~1 -y
            sudo apt-mark hold libc6
            

            【讨论】:

              【解决方案9】:

              在我的情况下,代理甚至没有启动。这就是我要解决的问题:

              C:\Program Files (x86)\gnupg\bin>gpg-connect-agent -v
              gpg-connect-agent: no running gpg-agent - starting 'C:\Program Files (x86)\gnupg\bin\gpg-agent.exe'
              gpg-connect-agent: waiting for the agent to come up ... (5s)
              gpg-connect-agent: connection to agent established
              > ^Z
              

              随后对代理的命令开始工作。

              【讨论】:

              • 对我来说,即使这样也行不通:gpg-connect-agent: can't connect to the agent: IPC connect call failed
              • 在提升的 CMD/Powershell 控制台中运行它
              • 我一直在使用--homedir 参数,并且用gpg-agent 拧紧。如果您正在这样做,那么将 try setting the environmental variable GNUPGHOME 改为您的主目录。
              【解决方案10】:

              我遇到了同样的问题。就我而言,gpg 配置文件以某种方式损坏。为了解决这个问题,我删除了~/.gnupg 中的所有配置(确保备份您仍然需要的任何密钥)。然后我重新安装了 gpg,一切正常。

              【讨论】:

                【解决方案11】:

                系统上可能已经有一个 gpg-agent 在运行,你的 gpg 命令无法连接到它。

                如果您执行 pkill -9 gpg-agent 然后 source 重新启动代理,您应该能够连接用于输入密码的 pinentry-curses。

                【讨论】:

                • 我只做了 kill 部分,守护进程在 Debian 9 中自动重启。
                • 我已经杀死了代理并希望它在登录时重新启动,但它不适合我。 source<(gpg-agent --daemon) 语法对我来说是新的。这似乎启动了代理,其父 PID 设置为 1。
                猜你喜欢
                • 2020-08-09
                • 2021-12-21
                • 1970-01-01
                • 1970-01-01
                • 2020-03-27
                • 2023-01-11
                • 1970-01-01
                • 2014-05-18
                • 2014-12-06
                相关资源
                最近更新 更多