Kel*_*ays 33 password utilities gpg
我正在尝试安装Pass: the standard Unix password manager,但是,当我尝试向应用程序添加密码时,我收到这些错误
gpg: Kelly's Passwords: skipped: No public key
gpg: [stdin]: encryption failed: No public key
Run Code Online (Sandbox Code Playgroud)
当我输入命令时,gpg --list-keys我得到:
/home/khays/.gnupg/pubring.gpg
------------------------------
pub 2048R/64290B2D 2012-11-05
uid Kelly Hays <hays.kelly@gmail.com>
sub 2048R/0DF57DA8 2012-11-05
Run Code Online (Sandbox Code Playgroud)
我有点不知道如何解决这个问题,有什么想法吗?
zhe*_*ech 37
你是如何创建密码存储的?pass init "Kelly's Passwords"? 如果是这样,这是错误的,您应该调用pass init 64290B2D.
如果然后pass insert foo将失败:
gpg: fooo: skipped: public key not found
gpg: [stdin]: encryption failed: public key not found
Run Code Online (Sandbox Code Playgroud)
那么你必须首先信任你自己的密钥 ( gpg --edit-key 64290B2D, trust, 5, save)。
这是我在 Kubuntu 20.04(带有 KDE 桌面的 Ubuntu Linux v 20.04)上使用的上述信息的汇总passgpg2
pass是 Linux CLI 密码管理器。
高级视图:
pass要求您拥有公钥gpg。gpg是一个Linux CLI 加密程序。有几个版本。Kubuntu 20.04 使用gpg2但只是将其称为“gpg”。
您首先必须创建一个gpg密钥。然后将 key-idpass作为参数传递给。之后它应该可以工作。
生成密钥:
~$ gpg --gen-key
看看你闪亮的新钥匙:
~$ gpg --list-keys
pub rsa3072 2022-07-17 [SC] [expires: 2024-07-16]
YourKey (a bunch of letters and numbers)
uid [trust-level] yourName <yourAddress@email.com>
sub rsa3072 2022-07-17 [E] [expires: 2024-07-16]
Run Code Online (Sandbox Code Playgroud)
您必须告诉您的机器信任您的新密钥:
gpg --edit-key yourName yourAddress@email.com, trust, 5, save)
(这一步实际上对我来说并不是必要的,因为信任被自动设置为[最终] - 但执行这一步并没有伤害我。)
从现在开始,您可以继续访问以下页面pass:https:
//www.passwordstore.org/
------ 这就是我在名为“dev”的文件夹中为 docker 设置密码的样子 -------------------
初始化密码存储:
~$ pass init yourAddress@email.com
Password store initialized for yourAddress@email.com
Run Code Online (Sandbox Code Playgroud)
创建密码存储:
~$ pass insert dev/docker
mkdir: created directory '/home/$USER/.password-store/dev'
Enter password for dev/docker:
Retype password for dev/docker:
Run Code Online (Sandbox Code Playgroud)
我输入的密码正确吗?-
~$ pass dev/docker
thisIsTheWrongPassword!
Run Code Online (Sandbox Code Playgroud)
删除错误的密码 -
~$ pass rm dev/docker
Are you sure you would like to delete dev/docker? [y/N] y
removed '/home/$USER/.password-store/dev/docker.gpg'
Run Code Online (Sandbox Code Playgroud)
输入正确的密码
~$ pass insert dev/docker
mkdir: created directory '/home/$USER/.password-store/dev'
Enter password for dev/docker:
Retype password for dev/docker:
Run Code Online (Sandbox Code Playgroud)
第二次检查密码是否正确-
~$ pass dev/docker
doNotExposeYourPasswordOnStackExchange!
Run Code Online (Sandbox Code Playgroud)
我可以使用 pass 通过 CLI 登录 Docker Hub
pass dev/docker | login -u myUserName --password-stdin
Run Code Online (Sandbox Code Playgroud)
这会将密码直接通过管道传输到 Docker Hub,而无需将其打印到屏幕上。
小智 5
同样的迹象,如果有人偶然发现这个问题,解决方案可能会有所不同。您pass正在使用gpg2而不是gpg,您可能已经用于生成/管理您的密钥(或者,反之亦然)。验证:
bash -x $(which pass) insert foo
Run Code Online (Sandbox Code Playgroud)