在给虚拟机里面的 git 加 GPG,想要提交代码到 github 的时候有 verified 标签。 按照网上的教程生成 GPG 私钥对之后,git commit 就一直报错:gpg: skipped "8xxx": No secret key
使用的命令如下:
$ gpg --full-generate-key
$ git config --global user.signingkey 8xxx
$ git commit -S -m "..."
然后就报错
gpg: skipped "8xxx": No secret key
gpg: signing failed: No secret key
系统: Ubuntu 18.04.5 LTS
GPG: gpg (GnuPG) 2.2.4 libgcrypt 1.8.1
网上找了一圈方法都不好使,加了 GIT_TRACE 之后是这样:
$ GIT_TRACE=1 git commit -S -m "..."
22:03:26.309439 git.c:344 trace: built-in: git commit -S -m ...
22:03:26.310704 run-command.c:646 trace: run_command: /usr/bin/gpg --status-fd=2 -bsau 8xxx
error: gpg failed to sign the data
fatal: failed to write commit object
$ gpg -bsau 8xxx
gpg: skipped "8xxx": No secret key
gpg: signing failed: No secret key
看报错好像是没有这个密钥,但是确实是生成了:
$ sudo gpg --list-keys
gpg: WARNING: unsafe ownership on homedir '/home/ray/.gnupg'
/home/ray/.gnupg/pubring.kbx
----------------------------
pub rsa3072 2021-06-18 [SC]
8xxx
uid [ultimate] xxx
sub rsa3072 2021-06-18 [E]
和我用的不是 root 用户有关吗?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.