- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在尝试为 Github 生成一个 gpg,详见此处:https://help.github.com/articles/generating-a-new-gpg-key/
我已经生成了 key 并设置了 ~/.gitconfig 和我的本地 .git/config 以包含
[user]
email = austin@my_email_address.com
name = Austin Gibbons
signingkey = <key_id>
[gpg]
program = /usr/local/bin/gpg
[commit]
gpgsign = true
在 ~/.gnupg/gpg.conf 我有
no-emit-version
use-agent
在 ~/.gnupg/gpg-agent.conf 中
default-cache-ttl 28800000
max-cache-ttl 28800000
use-standard-socket
pinentry-program /usr/local/MacGPG2/libexec/pinentry-mac.app/Contents/MacOS/pinentry-mac
每次运行 git commit
时,系统都会提示我输入 gpg 密码,但我的设置似乎没有任何改变。我不确定如何将它设置在我的 key 圈中,如有任何建议,我将不胜感激!
我正在运行一个 gpg-agent 守护进程
$ ps aux | grep gpg
austin 63896 0.9 0.0 2432772 676 s010 S+ 2:37PM 0:00.00 grep gpg
austin 98503 0.0 0.0 2436440 584 ?? S 10:41AM 0:00.00 /bin/bash /usr/local/MacGPG2/libexec/shutdown-gpg-agent
austin 51417 0.0 0.0 2475748 928 ?? Ss 1:58PM 0:00.45 gpg-agent --daemon
当我添加到 ~/.gnupg/gpg.conf 时
no-tty
我明白了
$ git commit -m "test"
error: gpg failed to sign the data
fatal: failed to write commit object
类似其他问题:
Git signed commits - How to suppress "You need a passphrase to unlock the secret key..."
我还尝试通过命令行和 gpg-tools 生成 key
最佳答案
我遵循了与您所做的类似的过程。(这是在 OSX 10.10.5 上完成的)
详情如下。
首先按照 https://help.github.com/articles/generating-a-new-gpg-key/ 上的说明进行操作在第 1 步中,要求下载 GPG 工具。我尝试下载 https://sourceforge.net/projects/gpgosx/files/GnuPG-2.1.14.dmg/download然而,它并没有出现在 PATH 中,所以考虑搜索 brew
:
$ brew search gpg
==> Formulae
gpg gpg1 gpg2 gpgme libgpg-error
==> Casks
gpg-suite gpg-suite-nightly gpg-suite-no-mail gpg-suite-pinentry gpg-sync
$ brew cask install gpg-suite-no-mail
==> Downloading https://releases.gpgtools.org/GPG_Suite-2019.2.dmg
...... installation log snipped ....
Note:
gpg-suite-no-mail
installs the full set of GPG tools (now called GPG Suite), except for GPG Mail, a premium feature.
准备就绪后,继续按照 https://help.github.com/articles/generating-a-new-gpg-key/ 上的说明进行操作从 #2 到 #14 之后,我的 Github 帐户中添加了一个 4096 位 GPG key 。
这是步骤 #2 到 #9(创建 GPG key )的一些输出:
$ gpg --gen-key
gpg (GnuPG/MacGPG2) 2.0.30; Copyright (C) 2015 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Please select what kind of key you want:
(1) RSA and RSA (default)
(2) DSA and Elgamal
(3) DSA (sign only)
(4) RSA (sign only)
Your selection? (Chose DEFAULT)
RSA keys may be between 1024 and 4096 bits long.
What keysize do you want? (2048) 4096
Requested keysize is 4096 bits
Please specify how long the key should be valid.
0 = key does not expire
<n> = key expires in n days
<n>w = key expires in n weeks
<n>m = key expires in n months
<n>y = key expires in n years
Key is valid for? (0)
Key does not expire at all
Is this correct? (y/N) y
GnuPG needs to construct a user ID to identify your key.
Real name: blahblah
Email address: blahblah@blah.blah
Comment:
You selected this USER-ID:
"blahblah <blahblah@blah.blah>"
Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? O
You need a Passphrase to protect your secret key.
We need to generate a lot of random bytes. It is a good idea to perform some other action (type on the keyboard, move the mouse, utilize the disks) during the prime generation; this gives the random number generator a better chance to gain enough entropy.
We need to generate a lot of random bytes. It is a good idea to perform some other action (type on the keyboard, move the mouse, utilize the disks) during the prime generation; this gives the random number generator a better chance to gain enough entropy.
gpg: key ABCDEFG marked as ultimately trusted
public and secret key created and signed.
gpg: checking the trustdb
gpg: 3 marginal(s) needed, 1 complete(s) needed, PGP trust model
gpg: depth: 0 valid: 1 signed: 0 trust: 0-, 0q, 0n, 0m, 0f, 1u
pub 4096R/ABCDEFG 2016-10-03
Key fingerprint = adf asdf asdf asdf asf asdfas dfasdf
uid [ultimate] blahblah <blahblah@blah.blah>
sub 4096R/ABCDEFG 2016-10-03
然后创建并推送一个已签名提交到 Github:
$ git config --local user.signingkey ABCDEFGHIJKLD2
$ touch test && git add test
$ git -c user.name="blahblah" -c user.email=blahblah@blah.blah commit -S -m "Test GPG"
You need a passphrase to unlock the secret key for
user: "blahblah <blahblah@blah.blah>"
4096-bit RSA key, ID ABCDEFG, created 2016-10-03
[master abcdefg] Test GPG
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 test
$ git push
Counting objects: 2, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (2/2), 956 bytes | 0 bytes/s, done.
Total 2 (delta 0), reused 0 (delta 0)
To ssh://github.com/someuser/somerepo.git
abcdefg..abcdeff master -> master
然而,在我将它保存到钥匙串(keychain)之后,在创建另一个签名提交和推送提交时,我没有再次收到提示,Github 正确地将提交显示为“已验证”:
关于git - 防止在 Mac 上出现 GPG 密码提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39780452/
(kubuntu,但在我的方法中试图保持平台独立。) 概念解释或必要步骤都值得赞赏。 我正在阅读文档,并试图获取 gpg-agent工作一次,但我感到气馁,因为每次尝试都需要重新启动,而且我并不真正理
记录遇到的问题; 在aliyun上安装MySQL时由于上次错误卸载mysql 导致校验文件出问题; 处理方式有几种 1到mysql官网下载校验文件 2跳过校验,记录第二种 编
我想为一个 atm 创建一个自动 GnuPG key 生成脚本,尽管他们运行 ubuntu,但不习惯使用 CLI。此外,其他人管理他们的计算机,使其保持最新状态并处于良好的运行状态,因此他们也没有 r
我刚刚不小心丢失了旧的 gpg key 。我想知道我是否可以删除每个提交的 gpg 标志或使用我的新 gpg key 重新签名? 最佳答案 我知道这是一个老问题,但我遇到了类似的情况,我不得不签署(实
作为 perl 脚本的一部分,我根据从电子邮件中获得的周期数从网站下载一些文件。我使用正则表达式找到合适的周期数,将其附加到 url 并从所述 url 获取加密文件。然后我将加密文件打印到临时文件,并
查看Subj:如何在不使用本地存储(在〜/.gpg下)的情况下从gpg中的私有(private)获取公钥? 此解决方案不满足要求: $ gpg --import priv.key $ gpg --ex
我有 1 个 github 用户和另一个 gitlab 用户,我为每个用户创建了 1 个 gpg key ,因为我的电子邮件地址不同。 问题是我必须执行 git config --global use
我在运行这段代码时遇到了这个错误。 gpg --fingerprint gpg: WARNING: unsafe ownership on configuration file `/home/dyla
我遵循本教程:https://help.github.com/articles/signing-commits-using-gpg/ 我尝试像这样提交时签名: https://github.com/s
我从 brew 安装了 GPG。 brew install gpg 它是 gnupg2-2.0.30_2。 当我提交时,我确实收到一条错误消息: You need a passphrase to un
在我添加 docker GPG key 时设置 docker 存储库 cmd- curl -fsSL https://download.docker.com/linux/ubuntu/gpg | su
我全新安装了 Linux Mint 14。安装了 Thunderbird 和 Enigmail。 生成我的 key ,得到一个 friend 的公钥,导入它。 给我的 friend 发了一封加密的电子
我是 Unix 和 ksh 脚本编写的新手。我写了一个解密 gpg 消息的脚本。我收到此错误,我不知道如何解决。我希望有人可以查看我的脚本并帮助我弄清楚发生了什么。感谢您提供的任何帮助。 这是错误:
我正在尝试在我的 ubuntu 机器上安装 chirpstack。尝试设置 key 时出现以下错误。 jonny@jonny-ubuntu:~$ sudo gpg --keyserver keyser
我正在为 Web 开发设置新机器 (macOS Sierra),我已经完成 brew install gpg 安装了 gpg2 和 gpg-agent。我已经从旧 Mac 上的 ~.gnupg 复制了
我正在使用以下命令 gpg --keyserver hkp://pool.sks-keyservers.net --send-keys 按照本文的指导https://getstream.io/blo
尝试将我们的基本镜像迁移到稳定的 Ubuntu 18.04,当我们尝试添加我们的 gpg key 时,出现此错误: root@77ff14f29cab:/# apt-key add apt-key.g
我运行的是GitHub工作流,过去我曾多次使用该工作流将代码发布到Nexus.它现在正在失败。我已经有一段时间没有使用它了,所以我的原始密钥可能已经过期了……自从我创建它以来,已经超过3年了,我不记得
我收到一个错误: gpg: no default secret key: No secret key gpg: [stdin]: clearsign failed: No secret key GPG
如何在 Scala 中解密 OpenPGP 加密文件?我有公钥和私钥,并且 gpg --output file.txt --decrypt file.txt.gpg 有效。 最佳答案 从 PR 到 h
我是一名优秀的程序员,十分优秀!