公钥私钥的一些探索

我们先来看看wiki上是怎么定义的:

公开密钥加密英语:public-key cryptography,又译为公开密钥加密),也称为非对称加密(asymmetric cryptography),一种密码学算法类型,在这种密码学方法中,需要一对密钥,一个是私人密钥,另一个则是公开密钥。这两个密钥是数学相关,用某用户密钥加密后所得的信息,只能用该用户的解密密钥才能解密。如果知道了其中一个,并不能计算出另外一个。因此如果公开了一对密钥中的一个,并不会危害到另外一个的秘密性质。称公开的密钥为公钥;不公开的密钥为私钥。

在使用Google Compute Engine的过程中,碰到了在阿里云上所没有的一些问题,但是又不存在工单,一般只能读纯英文的官方文档来解决,大概了解了如何部署.net应用,如何通过Putty.exe来连接VM实例,如何使用App engine。

我们先来讲讲如何用Putty连接GCE的VM实例吧。官方链接在这里。这里只说明一下Windows下的操作方法。

1.首先下载一个叫做PuTTYgen (an RSA and DSA key generation utility)的工具来生成RSA||DSA密钥对,通过鼠标移动来确保随机性的做法无疑令人眼前一亮,但是胳膊晃久了还是有点酸[笑]。然后点击保存私钥.ppk格式的文件到pc上。

Puttygen

2.打开计算引擎,选择元数据-SSH密钥然后把生成的公钥复制到里面,如果强迫症犯了呢,当然你也可以把已有的Google-ssh删除,这里不影响我们用putty连接。

3.打开PuTTY (the SSH and Telnet client itself)把HOST NAME填写为XXX@VM-IP的形式XXX为刚刚那串公钥最后==后面的符号(注意不要填root,会报错~)VM-IP是你VM的ip地址。

putty_set_hostname

4.选择SSH->Auth->Private key file for authentication把刚刚生成的私钥路径写入。点击OPNE。输入你在Puttygen上设置的KEY Phraser(可留空)就成功啦。当然在Centos下想要获取最高权限就sudo -i吧。putty_set_private_ke