Ray*_*ond 183 apt repository gnupg
我不再需要服务器密钥环中的密钥。是否可以删除它?我使用以下命令添加了密钥:
curl http://repo.varnish-cache.org/debian/GPG-key.txt | apt-key add -
Run Code Online (Sandbox Code Playgroud)
谢谢你的帮助
Nit*_*esh 234
首先,您需要找到您添加的密钥的密钥 ID。通过以下命令执行此操作:
sudo apt-key list
Run Code Online (Sandbox Code Playgroud)
它将列出您拥有的所有密钥,每个条目如下所示:
pub 1024R/B455BEF0 2010-07-29
uid Launchpad clicompanion-nightlies
Run Code Online (Sandbox Code Playgroud)
一旦确定了要删除的密钥,请使用命令sudo apt-key del <keyid>where<keyid>替换为要从密钥环中删除的密钥的实际密钥 ID。
$ sudo apt-key del B455BEF0
$ apt-key list | grep clicompan
$
Run Code Online (Sandbox Code Playgroud)
小智 227
在 16.10 上,使用 list 命令时不再显示短键 ID,但它实际上是长十六进制的最后 8 个字符。
因此,例如以下密钥的密钥 ID
/etc/apt/trusted.gpg.d/ubuntu-keyring-2012-cdimage.gpg
------------------------------------------------------
pub rsa4096 2012-05-11 [SC]
8439 38DF 228D 22F7 B374 2BC0 D94A A3F0 EFE2 1092
uid [ unknown] Ubuntu CD Image Automatic Signing Key (2012) <cdimage@ubuntu.com>
Run Code Online (Sandbox Code Playgroud)
密钥 ID 将是 EFE21092
lew*_*s4u 12
Ubuntu 20.04 更新
跑完后
sudo apt-key list
Run Code Online (Sandbox Code Playgroud)
你应该得到 apt 键的列表:
/etc/apt/trusted.gpg
--------------------
pub rsa4096 2016-04-12 [SC]
EB4C 1BFD 4F04 2F6D DDCC EC91 7721 F63B D38B 4796
uid [ unknown] Google Inc. (Linux Packages Signing Authority) <linux-packages-keymaster@google.com>
sub rsa4096 2019-07-22 [S] [expires: 2022-07-21]
pub rsa4096 2017-04-11 [SC] [expired: 2019-09-28]
D4CC 8597 4C31 396B 18B3 6837 D615 560B A5C7 FF72
uid [ expired] Opera Software Archive Automatic Signing Key 2017 <packager@opera.com>
pub rsa4096 2019-09-12 [SC] [expires: 2021-09-11]
68E9 B2B0 3661 EE3C 44F7 0750 4B8E C3BA ABDC 4346
uid [ unknown] Opera Software Archive Automatic Signing Key 2019 <packager@opera.com>
sub rsa4096 2019-09-12 [E] [expires: 2021-09-11]
pub rsa4096 2017-03-13 [SC]
8CAE 012E BFAC 38B1 7A93 7CD8 C5E2 2450 0C12 89C0
uid [ unknown] TeamViewer GmbH (TeamViewer Linux 2017) <support@teamviewer.com>
sub rsa4096 2017-03-13 [E]
Run Code Online (Sandbox Code Playgroud)
在uid你下面有应用程序的名称,例如:
[ unknown] Opera Software Archive Automatic Signing Key 2019 <packager@opera.com>
Run Code Online (Sandbox Code Playgroud)
你要删除的键在它上面:
D4CC 8597 4C31 396B 18B3 6837 D615 560B A5C7 FF72 <-- THAT'S THE KEY
uid [ expired] Opera Software Archive Automatic Signing Key 2017 <packager@opera.com>
Run Code Online (Sandbox Code Playgroud)
然后通过将该键放在双引号或单引号中来删除它,如下所示:
sudo apt-key del "D4CC 8597 4C31 396B 18B3 6837 D615 560B A5C7 FF72"
Run Code Online (Sandbox Code Playgroud)
我制作了一个简短的脚本来使事情变得更容易,并使用字符串而不是 id。
如果密钥包含您知道的唯一字符串,您可以使用我的脚本。
例如,在我的 webmin 案例中
pub 1024D/11F63C51 2002-02-28
uid Jamie Cameron <jcameron@webmin.com>
sub 1024g/1B24BE83 2002-02-28
Run Code Online (Sandbox Code Playgroud)
我确信我的系统上只有 webmin 密钥,而jcameron不是我使用这个脚本删除相应的密钥。
我把它保存为 ~/removeAptKey
并运行它
sudo ./removeAptKey jcameron
Run Code Online (Sandbox Code Playgroud)
输出应该是这样的
KEYID: 11F63C51
OK
Run Code Online (Sandbox Code Playgroud)
这是我的脚本:
pub 1024D/11F63C51 2002-02-28
uid Jamie Cameron <jcameron@webmin.com>
sub 1024g/1B24BE83 2002-02-28
Run Code Online (Sandbox Code Playgroud)
首先,我得到密钥块的上面两行:
sudo apt-key list: 像往常一样列出 apt 键grep '${UNIQUE}' -B 1:只需要包含唯一密钥字符串行jcameron和-B 1前行> result.temp: 将它保存在一个文件中(后来被删除)如果这正好返回 2 行(-> 正好有 1 个键),我继续:
grep 'pub': 现在只取带有pup密钥 id的行cut -d " " -f 4: 取该行的第 4 个单词(第一个是pub两个空格,而不是我们后面的字符串``)cut -d "/" -f 2: 只取后面的部分 / 最后删除这个键并清理
apt-key del ${KEYID}(在我的情况下11F63C51)rm result.temp: 不再需要这个文件了| 归档时间: |
|
| 查看次数: |
218771 次 |
| 最近记录: |