Linux的SSH2(RSA)验证登录

 

SSH相比telnet来说已经是非常安全了,要是再加上RSA验证的话就更完美了。

这里产生一对密钥,并且由Passphrase加密,把公钥放到要登录的服务器上(某个帐户home目录中的.ssh下),私钥由远程登录者持有,把私钥分发给授权用户,并告知他们Passphrase。

一旦私钥泄露,还有Passphrase做最后的拖延,此时迅速把服务器端的公钥删除,非法者手中的私钥也就作废了,他们还是不能登录服务器,保证了安全。

这里我们使用Windows下最好的远程终端SecureCRT来做实例说明。

打开连接窗口,建立一个新session,这里用RSA来取代传统的密码验证。如图:

clip_image002[1]

clip_image004[1]

新建一个session,使用SSH2协议。

clip_image006[1]

登记远程Linux主机的IP和用户名

clip_image008[1]

给session取个名

clip_image010[1]

打开session的选项设置

clip_image012[1]

我们用PublicKey来验证,取消Password,不然优先以密码验证!

clip_image014[1]

选择中PublicKey后,进入右边的Properties:

默认是Use global public key setting, 我们这里选择只针对单个session的key。把公钥私钥都放到C盘,当然也可以放到任何地方,建议不要有中文路径。最后Create密钥。如图:

clip_image016[1]

选RSA

clip_image018[1]

Passphrase:类似于密码,是用来加密RSA密钥。可以留空,这样密钥就不会被加密,登录的时候也就是完全的“免密码登录”(没有任何输入密码的提示,很痛快!但不推荐。)

clip_image020[1]

Key 长度当然是越长越安全!这里做测试,默认即可。

clip_image022[1]

不停在此窗口上移动鼠标,直到密钥完全生成。这里晃动鼠标是为了取随机数(坐标)来生成密钥。

clip_image024[1]

强烈建议选OpenSSH,因为OpenSSH是免费的,大部分Linux上都是OpenSSH,这样避免了兼容性和法律问题!

clip_image026[1]

图 Identity是私钥,Identity.pub是公钥

完成,点击“否”,我们用其他的方式传到服务器。

clip_image028[1]

点击OK,完成配置

clip_image030[1]

上传公钥到Linux服务器

采用Zmodem方式上传,方便快捷!再也不用建立什么samba或者ftp啦~

clip_image032[1]

用户目录(即~)下建立.ssh目录,更改权限:700,只允许本人读写和运行。这一步很重要,否则后面验证会出错,说找到度密钥。

clip_image034[1]

用rz命令来上传文件:输入rz后会弹出一个对话框,找到刚才的建立的公钥(C:\Identity.pub),确定后就上传到Linux服务器了。结果见图:

clip_image036[1]

把Identity.pub改名为authorized_keys2,2代表我们上面使用的是SSH2。若SSH的话为authorized_keys。

改权限,建议600,代码除了自己别人都不能读写。

clip_image038[1]

OK,现在来使用RSA验证来登录。

clip_image040[1]

clip_image042[1]

成功登录! 为了更安全,我们应该把/etc/ssh/sshd_config的 PasswordAuthentication 设置成no,关闭普通的密码验证,这样就只支持RSA验证方式。

clip_image044[1]

posted on 2008-11-20 11:03  大姚  阅读(2361)  评论(0编辑  收藏  举报

导航