1) 在本地主机生成密钥对
这个命令生成一个密钥对:id_rsa(私钥文件)和id_rsa.pub(公钥文件)。默认被保存在~/.ssh/目录下。
2) 将公钥添加到远程主机的 authorized_keys 文件中
将文件上传到远程主机中
SSH到登陆到远程主机,将公钥追加到 authorized_keys 文件中
或直接运行命令:
cat ~/.ssh/id_dsa.pub|ssh root@192.168.1.23 'sh -c "cat - >>~/.ssh/authorized_keys2"'
3) 重启 open-ssh 服务
4) 测试
呵呵,不用输入密码了:)
== 附录 ==/etc/ssd/sshd_config 几个关键配置点
PermitRootLogin yes
PasswordAuthentication yes
# AuthorizedKeysFile .ssh/authorized_keys # 这个地方尽量使用默认,gentoo 下 ~/.ssh/authorized_keys 与 ~/.ssh/authorized_keys2 等效
导出私钥命令
#gpg –export-secret-keys -a -o kevin.asc
导出公钥命令:
#gpg -a –export twork@21cn.com >kevin.gpg
搜索subkeys.pgp.net服务器上的公钥:
#gpg –search-keys –keyserver subkeys.pgp.net twork@21cn.com
你能直接通过 GnuPG 导入密钥
gpg --keyserver subkeys.pgp.net --recv-keys B120107B
或搜索密钥
gpg --keyserver subkeys.pgp.net --search-keys B120107B
当你选择其中一个时,它将被加入你的密钥环(keyring)
上传公钥至subkey.pgp.net服务器:
#gpg –send-keys –keyserver subkeys.pgp.net twork@21cn.com
加数数据给king2789@163.com(注:-e加密,-a 使用ASCII,-c使用对称加密,-r选择接收人)
#gpg -e -a -c -r king2789@163.com aa.txt
解密数据(注:如果king2789@163.com连续5次输错自己的私钥密码,第5次时候可以使用对称密码解密)
#gpg -d aa.txt.gpg >aa.txt
管理GPG的工具有:gpgshell,当前版本3.72
下载地址:http://www.jumaros.de/rsoft/index.html
常用金钥服务器:http://subkeys.pgp.net
#gpg -h (帮助信息)
gpg (GnuPG) 1.4.9
Copyright (C) 2008 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Home: C:/Documents and Settings/Chenkangle/Application Data/gnupg
支持的算法:
公钥:RSA, RSA-E, RSA-S, ELG-E, DSA
对称加密:3DES, CAST5, BLOWFISH, AES, AES192, AES256, TWOFISH
散列:MD5, SHA1, RIPEMD160, SHA256, SHA384, SHA512, SHA224
压缩:不压缩, ZIP, ZLIB, BZIP2
语法:gpg [选项] [文件名]
签名、检查、加密或解密
默认的操作依输入数据而定
指令:
-s, –sign [文件名] 生成一份签名
–clearsign [文件名] 生成一份明文签名
-b, –detach-sign 生成一份分离的签名
-e, –encrypt 加密数据
-c, –symmetric 仅使用对称加密
-d, –decrypt 解密数据(默认)
–verify 验证签名
–list-keys 列出密钥
–list-sigs 列出密钥和签名
–check-sigs 列出并检查密钥签名
–fingerprint 列出密钥和指纹
-K, –list-secret-keys 列出私钥
–gen-key 生成一副新的密钥对
–delete-keys 从公钥钥匙环里删除密钥
–delete-secret-keys 从私钥钥匙环里删除密钥
–sign-key 为某把密钥添加签名
–lsign-key 为某把密钥添加本地签名
–edit-key 编辑某把密钥或为其添加签名
–gen-revoke 生成一份吊销证书
–export 导出密钥
–send-keys 把密钥导出到某个公钥服务器上
–recv-keys 从公钥服务器上导入密钥
–search-keys 在公钥服务器上搜寻密钥
–refresh-keys 从公钥服务器更新所有的本地密钥
–import 导入/合并密钥
–card-status 打印智能卡状态
–card-edit 更改智能卡上的数据
–change-pin 更改智能卡的 PIN
–update-trustdb 更新信任度数据库
–print-md 算法 [文件] 使用指定的散列算法打印报文散列值
选项:
-a, –armor 输出经 ASCII 封装
-r, –recipient 某甲 为收件者“某甲”加密
-u, –local-user 使用这个用户标识来签名或解密
-z N 设定压缩等级为 N (0 表示不压缩)
–textmode 使用标准的文本模式
-o, –output 指定输出文件
-v, –verbose 详细模式
-n, –dry-run 不做任何改变
-i, –interactive 覆盖前先询问
–openpgp 行为严格遵循 OpenPGP 定义
–pgp2 生成与 PGP 2.x 兼容的报文
(请参考在线说明以获得所有命令和选项的完整清单)
范例:
-se -r Bob [文件名] 为 Bob 这个收件人签名及加密
–clearsign [文件名] 做出明文签名
–detach-sign [文件名] 做出分离式签名
–list-keys [某甲] 显示密钥
–fingerprint [某甲] 显示指纹
1、生成key
在windows(需要单独安装)或linux下运行 gpg –gen-key 语句来生成新的密钥数据。
执行后,系统提示选择密钥种类、密钥位数、过期天数,一切都默认即可,直接回车。然后提示输入用户名,输入后回车;提示输入邮件地址;然后要重复输入两次密码。最后按大写字母O回车,开始生成密钥。这个过程可能会提示随机数不足,这时不能闲着,要多活动活动鼠标,点点按键,产生更多的随机动作,帮助系统继续进行,等待退出即可。
2、导出公钥
运行 gpg -o name.gpg -a –export name 即可导出一个公钥文件。其中name是刚才输入的用户名。这个导出的公钥文件是文本格式可以打开查看,将它公开出去,别人就可以用这个公钥进行加密,加了密的邮件发送给你,你再解密即可。其他人无法解密,即使知道公钥也无法解密,公钥只能用于加密。
3、加密一个文件
有了某人的 name.gpg 文件之后,可以用它给要发的邮件内容加密。首先先要下载别人的这个公钥文件,将它导入自己的数据库,方法是运行 gpg –import name.gpg 。
运行 gpg -o doc.gpg -er name doc 命令可以将doc文件加密,加密后生成doc.gpg文件,name是所用的公钥主人的用户名。然后将doc.gpg这个加密的文件发送过去即可。因为只有公钥主人可以解密,因此可以公开发送。
4、解密一个文件
主人收到这个加密的文件之后,运行 gpg -o doc.new -d doc.gpg 来解密,将doc.gpg解密为一个新的文件doc.new,运行后会提示输入自己的密码。
5、文件签名
有时候我们传送一个文件内容,但是担心这个文件内容在中途被别人篡改,怎么才能验证篡改与否呢?一个好办法是将文件内容转换为一组编码,内容与编码完全对应。收到文件的人可以将内容和编码对比验证。如果内容被篡改,编码没有改动,两者将不能匹配。这样达到验证一个文件完整的目的。即使有人想改动编码,也不知道如何改才能与篡改后的内容相一致。
运行 gpg -o doc.sig –clearsign doc 命令(会要求输入密码),将文件doc转换为doc.sig,这是一个包含原内容和一组编码的新文件,发送这个新文件即可。收到它的人可以进行验证。
6、验证签名
运行 gpg –verify doc.sig 即可验证doc.sig文件中包含的内容+签名。
7、小结
上面所写的第1、2、4、5是主人要做的事情,3,6是对方要做的事情。主人生成密码(包括解密的私钥和加密用的公钥),然后导出公钥,发布公钥给对方。对方用公钥加密信息发送给主人,主人用私钥解密信息。主人签名一个文件然后公开发布,大家都可以验证这个信息的完整性。
导出私钥
gpg --export-secret-keys -a -o exam.secret.gpg
导入私钥:
gpg --import exam.secret.gpg
信任公钥密钥:
When importing a public key onto another machine, you may have configure gpg to
trust the key. Otherwise, when you use the key to do encryption, you may
see a prompt like this:
It is NOT certain that the key belongs to the person named
in the user ID. If you *really* know what you are doing,
you may answer the next question with yes.
Use this key anyway? (y/N)
To trust the key, run:
gpg --edit-key NAME
GPG will output some information, and show a line like:
trust: undefined validity: unknown
You will be at a console, and you have to type "trust":
Command> trust
Please decide how far you trust this user to correctly verify other users' keys
(by looking at passports, checking fingerprints from different sources, etc.)
1 = I don't know or won't say
2 = I do NOT trust
3 = I trust marginally
4 = I trust fully
5 = I trust ultimately
m = back to the main menu
Your decision? 5
Do you really want to set this key to ultimate trust? (y/N) y
Type "quit" to quit. If you run gpg --edit-key NAME again, you will
see a line as below, which means the key is now trusted.
trust: ultimate validity: ultimate
Mrtg (Multi Router Traffic Grapher,MRTG) 是一个监控网络链路流量负载的工具软件,它可以从所有运行SNMP协议的设备(包括服务器、路由器、交换机等)抓取到信息,并自动生成包含PNG格式的图形以HTML文档方式显示给用户。
首先,要在IIS中配置一个Web站点,用于发布MRTG的监控信息,本文假设该站点的根目录为c:/mrtg,然后,获取MRTG的 Win32版本和Activeperl,分别安装到d:/mrtg/和c:/usr/,为了将MRTG作为系统服务一开机就自动运行,我们还将 Windows 2000 Resource Kit 中的instsrv.exe和srvany.exe复制到d:/mrtg/bin
官方网站:http://people.ee.ethz.ch/~oetiker/webtools/mrtg/
Windows 2000 Server中内含了SNMP 网络管理协议,如果你想通过 MRTG 来监控一台Windows 2000服务器的相关信息,就需要启用该Windows 2000 Server 的SNMP 协议.
系统默认的Community 是通用的Public,虽然只有只读权限,但是出于安全的考虑,最好修改一下。
SNMP使用的是UDP协议 161/162 端口
可网管交换机,路由器本来就有SNMP协议,不需添加
假设我们要监控的设备的IP是202.108.36.172
下面我们进行MRTG的配置:
1.进入 d:/mrtg/bin 目录:
cd d:/mrtg/bin
执行 cfgmaker,生成cfg文件:
perl cfgmaker public@202.108.36.172 --global "WorkDir: c:/mrtg" --output mrtg.cfg
这里的public是202.108.36.172的Community,MRTG的监控文件保存在C:/mrtg/,注意WorkDir:与 c:/mrtg中间必需要有空格,输入的配置文件为mrtg.cfg,如果有多台设备要监控,可以在这里分别填入,如:
perl cfgmaker public@202.108.36.172 public@202.108.36.173 --global "WorkDir: c:/mrtg" --output mrtg.cfg
2.为了让MRTG全天24小时监控,我们在mrtg.cfg中加入以下参数,使MRTG每隔5分钟采集一次数据。
RunAsDaemon:yes
Interval:5
可以使用命令:
echo RunAsDaemon:yes >>mrtg.cfg
echo Interval:5 >>mrtg.cfg
使用中文:
echo language:chinese>>mrtg.cfg
3.使用IndexMaker生成报表首页:
perl indexmaker mrtg.cfg>c:/mrtg/index.htm
4.运行MRTG:
perl mrtg --logging=mrtg.log mrtg.cfg
访问http://yourserver/index.htm 看MRTG是否可以正常工作,生成统计图形。如果正常,终止程序,将其配置为系统服务。
将MRTG配置为系统服务:
由于MRTG需要由perl来编译执行,不能直接添加为系统服务,所以我们使用Windows 2000 Resource Kit 中的instsrv.exe和srvany.exe这
两个程序来帮助我们把MRTG添加为系统服务。
1 添加srvany.exe为服务:
instsrv MRTG "d:/mrtg/bin/srvany.exe"
2 配置srvany:
在注册表 HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlset/servicesMRTG 中添加一个 parameters 子键。再在 parameters 子键中添加以下项目:
Application的字串值,内容为 C:/usr/bin/perl.exe
AppDirectory 的字串值,内容为d:/mrtg/bin/
AppParameters的字串值,内容为 mrtg --logging=mrtg.log mrtg.cfg
有用的参数
Options[_]: growright, bits
RunAsDaemon:yes
Interval:5
language:chinese
MaxBytes[CPU]:100
Options[CPU]:gauge,unknaszero
WithPeak[CPU]:wmy
YLegend[CPU]:%utilization
ShortLegend[CPU]:%
Legend1[CPU]:Proc Load in next minute
Legend2[CPU]:
Legend3[CPU]:Maximal 5 minute Proc Load
Legend4[CPU]:
LegendI[CPU]:负荷1:
LegendO[CPU]:负荷2:
Title[CPU]:CPU 负荷
PageTop[CPU]:CPU负荷





