AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题

问题[gpg-agent](unix)

Martin Hope
Tohiko
Asked: 2022-06-11 04:26:38 +0800 CST

记住某些进程的 gpg 密码

  • 1

我使用 GNU 的密码存储(pass)来保存我的所有密码,包括我的电子邮件密码。我在 GPG 密钥上设置了一个密码短语,然后记住了gpg-agent一个小时。我还有一个 cron 作业,它会定期提取我的电子邮件,使用pass.

这意味着 cron 作业仅在我输入密码时才起作用,以便gpg-agent记住密码。否则 cron 作业会失败。

我希望始终为这项 cron 作业记住密码,但不为其他进程记住密码。有没有办法这样做?

处理这种用例的正确方法是什么?我很想一起删除密码。

gpg gpg-agent
  • 1 个回答
  • 97 Views
Martin Hope
David Xia
Asked: 2021-10-26 09:53:29 +0800 CST

如何使 ~/.ssh/config 匹配主机 * exec 继承当前 shell 的 tty 名称?

  • 0

我使用 OS X 和存储在 Yubikey 中的私有 SSH 密钥来 SSH 到远程服务器。每次我的 Mac 睡眠和唤醒后,我都需要运行gpg-connect-agent updatestartuptty /bye. 这个答案说我可以~/.ssh/config像这样输入这个命令

Match host * exec "gpg-connect-agent updatestartuptty /bye"

但这不起作用,因为我需要将GPG_TTY上下文中的 env var设置exec为我当前 shell 的tty值。我用鱼壳,里面有这个~/.config/fish/config.fish

set -x GPG_TTY (tty)

但是当 sshexec运行时,tty 会返回not a tty。这些都是我的环境变量。

cat ~/.ssh/config

...
Match host * exec "env > /tmp/t"
...

[run ssh some-host command]

cat /tmp/t

PWD=/Users/dxia
COLORFGBG=12;8
LC_TERMINAL=iTerm2
LOGNAME=dxia
GPG_TTY=not a tty
LANG=en_US.UTF-8
XPC_FLAGS=0x0
TERM=xterm-256color
TMPDIR=/var/folders/x1/f9sjnv7j43z73sdv5lsk3r8h0000gp/T/
EDITOR=/usr/bin/vim
COLORTERM=truecolor
LC_TERMINAL_VERSION=3.4.10
XPC_SERVICE_NAME=0
__CF_USER_TEXT_ENCODING=0x1F6:0x0:0x0
HOME=/Users/dxia
ITERM_PROFILE=Default
TERM_PROGRAM=iTerm.app
TERM_PROGRAM_VERSION=3.4.10
DISPLAY=/private/tmp/com.apple.launchd.6iiZkY4Tos/org.xquartz:0
USER=dxia
SHLVL=1
COMMAND_MODE=unix2003
TERM_SESSION_ID=w0t0p1:5945A63C-850F-4DCF-A605-F72860D9D72C
__CFBundleIdentifier=com.googlecode.iterm2
SHELL=/usr/local/bin/fish
ITERM_SESSION_ID=w0t0p1:5945A63C-850F-4DCF-A605-F72860D9D72C
PATH=/opt/homebrew/sbin:/opt/homebrew/bin:/Users/dxia/.pyenv/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/sbin:/usr/local/opt/fzf/bin:/opt/homebrew/opt/fzf/bin:/Users/dxia/.jenv/shims:/Users/dxia/.jenv/shims:/Users/dxia/.rbenv/shims:/Users/dxia/google-cloud-sdk/bin
SSH_AUTH_SOCK=/Users/dxia/.gnupg/S.gpg-agent.ssh

我怎样才能Match host * exec ...继承 tty?或者有没有更好的方法让 OS X 在睡眠/唤醒后与 Yubikey + SSH 一起工作?

ssh gpg-agent
  • 1 个回答
  • 214 Views
Martin Hope
Lacer
Asked: 2019-04-13 12:55:48 +0800 CST

gpg - gpg-preset-passphrase 安装

  • 3

问题: - 当我通过时重复请求密码show <name of credential>。

做一些谷歌搜索,我发现你可以用 gpg-preset-passphrase 做到这一点,但是我不确定从哪里得到它或者它是否包含在 gpg 发行版中。

这是我正在运行的 gpg 的当前版本。

有谁知道如何安装 gpg-preset-passphrase?

gpg --version
gpg (GnuPG) 2.0.22
libgcrypt 1.5.3
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

Home: ~/.gnupg
Supported algorithms:
Pubkey: RSA, ?, ?, ELG, DSA
Cipher: IDEA, 3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH,
        CAMELLIA128, CAMELLIA192, CAMELLIA256
Hash: MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
Compression: Uncompressed, ZIP, ZLIB, BZIP2
gpg gpg-agent
  • 3 个回答
  • 2106 Views
Martin Hope
Archisman Panigrahi
Asked: 2019-02-09 01:05:34 +0800 CST

是否可以在另一个安装中重用 GnuPG 密钥?

  • 0

我有一个 GPG 密钥,用于签署包并将其提交到 Launchpad。

是否可以在另一个安装中重复使用该密钥,或者我是否总是必须为新安装的 GNU/Linux 操作系统创建一个新密钥?

gpg-agent pgp
  • 2 个回答
  • 548 Views
Martin Hope
Jan Warchoł
Asked: 2018-10-11 10:20:54 +0800 CST

GPG 缓存选项不起作用

  • 2

有一个名为的选项default-cache-ttl控制代理记住私钥密码的时间。但是,当我将它放在配置文件中时,它不起作用 - 相反,gpg 抱怨:

gpg: /home/jan/.gnupg/gpg.conf:8: invalid option

我的 GPG 版本是

$ gpg2 --version
gpg (GnuPG) 2.1.11
gpg gpg-agent
  • 2 个回答
  • 1049 Views
Martin Hope
Barton Chittenden
Asked: 2018-10-10 16:26:22 +0800 CST

gpg-agent 正在运行,但总是提示我输入密码

  • 2

当我运行 gpg2 时,每次使用时都会提示我输入密码。根据我对gpg-agent手册页的阅读,我应该只在第一次得到提示。

gpg-agent  is a daemon to manage secret (private)
keys independently from any proto-col. It is
used as a backend for gpg and gpgsm as well as
for  a  couple  of other utilities.

The agent is automatically started on demand
by gpg, gpgsm, gpgconf, or gpg-connect-agent.
Thus there is no reason to start it manually.

...

--default-cache-ttl n
    Set the time a cache entry is valid to n
    seconds.  The default  is  600  sec- onds.
    Each  time a cache entry is accessed, the
    entry's timer is reset.  To set an entry's
    maximum lifetime, use max-cache-ttl.

--max-cache-ttl n
    Set the maximum time a cache entry is valid
    to n seconds.  After this time  a cache
    entry will be expired even if it has been
    accessed recently or has been set using
    gpg-preset-passphrase.  The default is 2
    hours (7200 seconds).

如果我没看错,gpg2在我第一次使用它时调用应该提示输入密码,然后,如果我在接下来的 600 秒内再次运行它,我将不会再收到提示。跑步

gpg2 --export-secret-keys --armor [email protected] > /dev/null

给了我这个:

┌─┐
│ Please enter the passphrase to export the OpenPGP secret key:  │
│ "John Doe (asdf) <[email protected]>"                       │
│ 2048-bit RSA key, ID EB7B49EAD38DE665,                         │         
│ created 2018-10-09.                                            │         
│                                                                │         
│                                                                │         
│ Passphrase: _ │
│                                                                │         
│         <OK>                                    <Cancel>       │
└─┘

正在运行的快速ps aux显示:gpg-agent

ps aux | grep gpg-agent
jdoe   14089  0.1  0.1 100884  3588 ?        SLs  18:50   0:07 /usr/bin/gpg-agent --supervised

唉,此后立即再次运行 gpg2 --export-secret-keys...再次提示我输入密码。

更多细节:

  • 我在用着pinentry-curses
  • 我已经$GPG_TTY在我的.bashrc
  • gpg2 --version -> gpg (GnuPG) 2.2.4
  • 我已经通读了为什么即使使用 gpg-agent 也会要求 gpg 输入密码?以及如何找出 gpg-agent 缓存的密钥?(比如 ssh-add -l 如何显示缓存的 ssh 密钥),但我并没有完全理解。
gpg gpg-agent
  • 1 个回答
  • 1714 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve