Skip to content

Fix GPG agent forwarding over SSH (macOS → Linux) #6

@dapi

Description

@dapi

Проблема

При SSH с macOS на Linux при входе в директорию с git-crypt / pass появляются ошибки:

connect to /Users/danil/.gnupg/S.gpg-agent.extra port -2 failed: No such file or directory

Ошибка повторяется 3 раза (git-crypt smudge filter + pass).

Причина

  • Linux (сервер): /etc/ssh/sshd_config.d/gpg-forward.conf содержит StreamLocalBindUnlink yes
  • macOS (клиент): ~/.ssh/config содержит RemoteForward с путём к S.gpg-agent.extra
  • GPG agent на macOS не запущен или extra-socket не создан → SSH не может пробросить сокет

Что нужно сделать

  1. Убедиться что gpg-agent автоматически запускается на macOS (launchd / gpgconf --launch gpg-agent)
  2. Проверить что путь в RemoteForward совпадает с gpgconf --list-dirs extra-socket на macOS
  3. Либо убрать RemoteForward для GPG если forwarding не нужен (ключи уже есть на Linux — [ultimate] trust)

Контекст

  • Linux GPG ключ: 71B05771EEE236791E7661A756C13D3EAA5C30C0 (ed25519, ultimate trust)
  • pass show также падает с gpg: public key decryption failed: Timeout — подтверждает что agent forwarding сломан
  • direnv загружает .envrc → git-crypt smudge → GPG → ошибка

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions