注册 登录
星韵地理网 返回首页

jova的个人空间 http://xingyun.org.cn/?1477 [收藏] [复制] [分享] [RSS]

日志

GPG命令行操作

已有 681 次阅读2008-1-25 13:35 |个人分类:Ubuntu 学习手记

你首先需要的是创建一个签名,一个属于你自己的签名。在命令行的模式下执行:

gpg --gen-key

然后按照提示输入相应的信息就可以了,我建议不要输入comment的信息,这样会带来一些麻烦。需要必须输入的信息主要有:full name,comment和email,这三个信息就会构成full name (comment) <email>的格式。一般在制作debian软件包的时候我们采用的都是full name <email>的格式,所以我建议不要输入comment的信息。在这一步将会要你输入一个私密的口令,这个口令一定要记住,不能忘掉,否则你的这个pgp key就失效了。

生成好你的key之后,下一步就是将它发布到互联网上。发布互联网上,首先需要一个key server,一般安装好后的默认key server都是subkeys.pgp.net。你也可以通过修改.gnupg/gpg.conf中的keyserver信息来改变你的key server。通过如下命令可以将你的key发布到服务器上:

gpg --send-keys YourKeyID

这将会把你的公匙发布到互联网上。你可以到互联网上的某一个key server主页去查询看看你的key是否已经发布到服务器上了,也可以通过gpg --search-keys来查找你的Key是否已经发布到服务器上。

KeyID可以通过 gpg --list-keys来获得。以下是一个输出结果:

pub 1024D/C5852939 2005-02-28
uid Wing sun <chunyang.sun@sw-linux.com>
sub 2048g/4782DB2D 2005-02-28
其中C5852939就是Key ID。

这样你就好了一个Key,接下来你就可以和别人进行Key sign了。

key sign是一个其他人确认且认可你的Key是一个可信任的安全Key的过程。一般而言在国际上进行Key sign的过程是这样的:

1、你需要向他人提供你的Key ID、Full Name、Comment、Email等信息。

2、提供能证明你的身份的证件,一般而言是身份证、护照等有效证件。

3、双方交换这些相关的信息,别且详细检查对方的身份证件,并确认该身份证件就是属于对方的,且确认对方提供的信息是正确的,且属于他自己的。

4、通过PGP的软件完成sign的过程。

在Debian中通过gnupg进行操作的过程如下:

首先,在你确认了该key的主人身份后,你必须先从互联网上获得该用户的公钥。运行

gpg --recv-keys KeyID

可以获得相应的用公钥信息到本地,当然你也可以通过gpg --search-keys来找寻并获取用户的公钥。

接下来我们就需要对该用户的公钥进行签名,执行

gpg --sign-key KeyID

gnupg将会提示你进行用户公钥的签名验证过程,根据提示进行操作即可。

签名完成后,你需要将你签名后的结果重新发送到互联网上,再一次执行:

gpg --send-keys

将所有的公钥发送到互联网上。

这样你就完成了一个gpg签名的过程。

怎样修改一个错误gpg 密钥?

可能你在创建gpg密钥的时候由于不小心输入错误了,而当你发现输入错误的时候,你却已经将该密钥发送出去了。这时候你可以通过

gpg --edit-key KeyID

来编辑这个密钥,在这个密钥中创建一个新的User ID(通过edit-key的子命令adduid来完成),然后将原有的User ID作废掉(先通过uid命令选中原有的User ID,然后通过revuid来作废该User ID),最后将你的修改发送到互联网上的Key Server即可。

这儿要注意的是,你做过的任何关于密钥的变更(包括修改、签名、作废等)都需要在最后发送到互联网的Key Server才可以确保它完全的生效。

备份你的密钥或者将密钥从一台计算机转移到另外一台

备份密钥分为备份公钥和私钥两个部分,备份公钥:

gpg -o keyfilename --export KeyID

如果没有KeyID则是备份所有的公钥,-o表示输出到文件keyfilename中,如果加上-a的参数则输出文本格式的信息,否则输出的是二进制格式信息。

备份私钥:

gpg -o keyfilename --export-secret-keys KeyID

如果没有KeyID则是备份所有的私钥,-o表示输出到文件keyfilename中,如果加上-a的参数则输出文本格式的信息,否则输出的是二进制格式信息。

然后在别的机器上可以通过

gpg --import filename

导入这些信息。

如果你使用的是相同的系统,则你可以通过最简单的方法将gpg的所有信息拷贝到另外一台计算机上。也就是说你只需要把.gnupg目录完全拷贝到你要拷贝的机器上即可。

发表评论 评论 (3 个评论)

回复 saimen 2008-1-26 20:28
javo兄近来的好象一心探索新东西。虽然自己没玩过,不过还真有点心动试试新系统。学习中...
回复 林君 2008-1-26 23:04


QUOTE:
以下引用saimen在2008-1-26 20:28:38发表的评论: javo兄近来的好象一心探索新东西。虽然自己没玩过,不过还真有点心动试试新系统。学习中...
十分支持,用过后你会喜欢上的,在星韵知道linux的也有几个了。我想Wen会给大家更多的支持。
回复 jova 2008-1-26 23:12


QUOTE:
以下引用saimen在2008-1-26 20:28:38发表的评论: javo兄近来的好象一心探索新东西。虽然自己没玩过,不过还真有点心动试试新系统。学习中...
呵呵,最近已经有一段时间没进入Windows了(除非玩游戏)。其实很早以前就在用Knoppix,因为Knoppix安装后的设置比较麻烦,还有就是软件支持没有Ubuntu方便才没有一直使用。Ubuntu基本能满足基本要求,如果有什么不能满足的就用VirtualBox虚拟Windows来完成。例如网银……

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

QQ|Archiver|小黑屋|星韵百科|星韵地理网 ( 苏ICP备16002021号 )

GMT+8, 2024-5-16 08:35 , Processed in 0.075247 second(s), 21 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

返回顶部