Skip to content

GPG not working with dev containers. It finds and tries to use my keys but gets "No such file or directory" errors #10496

@red8888

Description

@red8888

Version: 1.95.2 (Universal)
Commit: e8653663e8840adaf45af01eab5c627a5af81807
Date: 2024-11-07T11:07:22.054Z
Electron: 32.2.1
ElectronBuildId: 10427718
Chromium: 128.0.6613.186
Node.js: 20.18.0
V8: 12.8.374.38-electron.0
OS: Darwin arm64 23.4.0

Dev container extension version: v0.388.0

  • Logs:

Steps to Reproduce:

  1. Try to commit with gpg key while host is mac with keyboxd

After the last fix for this I still could not get it to work. I can see the agent is working in the container and reads the keys though.

# Inside container (mcr.microsoft.com/devcontainers/python:3.12-bullseye)
> uname -a 
Linux 350a5e7c7939 6.5.0-15-generic #15-Ubuntu SMP PREEMPT_DYNAMIC Tue Jan  9 22:39:36 UTC 2024 aarch64 GNU/Linux

> gpg --version
gpg (GnuPG) 2.2.27
libgcrypt 1.8.8

> gpg --list-secret-keys --keyid-format=long
gpg: checking the trustdb
gpg: marginals needed: 3  completes needed: 1  trust model: pgp
gpg: depth: 0  valid:   4  signed:   0  trust: 0-, 0q, 0n, 0m, 0f, 4u
gpg: next trustdb check due at 2025-02-18
/root/.gnupg/pubring.kbx
------------------------
<It shows all my keys from the host here>

# when I try to commit it finds the right key 
> export GIT_TRACE=1
> git commit -am 'sdfsdfsdf'  
21:51:32.572311 git.c:463               trace: built-in: git commit -am sdfsdfsdf
21:51:32.594160 run-command.c:657       trace: run_command: gpg --status-fd=2 -bsau <CORRECT KEY>
error: gpg failed to sign the data:
[GNUPG:] KEY_CONSIDERED <CORRECT KEY> 2
[GNUPG:] BEGIN_SIGNING H8
gpg: signing failed: No such file or directory
[GNUPG:] FAILURE sign 83918929
gpg: signing failed: No such file or directory

fatal: failed to write commit object

I also tried this with the latest ubuntu image with the latest gpg version and setting "use-keyboxd" in ~/.gnupg/common.conf in the dev container. It doesn't matter what it finds the right key but throws "No such file or directory".

I should add my gpg key is password protected.

Does this issue occur when you try this locally?: Yes/No
Does this issue occur when you try this locally and all extensions are disabled?: Yes/No

Metadata

Metadata

Assignees

Labels

containersIssue in vscode-remote containersinfo-neededIssue requires more information from poster

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions