在putty工具中与SSH的联系是非常密切的,SSH为建立在应用层和传输层基础上的安全协议,SSH 是目前较可靠,专为putty会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。所以,SSH的认证就很重要了,一般来说,SSH提供了两种安全认证方式。
一是基于口令的安全认证。在这种认证方式下,用户只需要知道帐户与口令,就可以利用SSH协议远程登陆到服务器。在这种认证模式下,其传输的数据,包括用户名与密码,是密文传输的。但是,他有一种缺陷。也就是说,他不能够保证你正在连接的服务器就是你想连接的服务器。因为他不会验证客户端与服务器端的身份,所以,可能会有人冒充真正的服务器,而管理员却不知情。这种攻击方式,又叫做“中间人”攻击。也算是一个比较“著名”的攻击方式了。
二是基于密钥的安全认证。在这种安全认证方式下,需要依靠密钥进行认证。此时,用户需要为自己创建一对密钥。用户要通过其他安全的方式,把公钥方在需要远程管理的服务器上。当管理员连接到SSH服务器上的时候,客户端会向服务器发出请求,要求其利用客户端的密钥进行安全性认证。服务器收到客户端的请求后,就会利用你事先发给他的公钥进行比较、辨别。如要两个密钥一致的话,服务器就用公钥加密质询并把它发送给客户端软件。客户端软件接收到服务器的质询后,就可以利用私人密钥进行解密并把结果发送给服务器。这种方式跟第一种方式相比,就是可以保障SSH服务器的合法性,有效的避免“中间人”攻击。
现在SSH1与SSH2两个版本的SSH软件包,都支持这种安全认证方式。由于后一种安全认证方式比较复杂。故用户登录到服务器的时间可能会比较长,有时候甚至会需要一分钟的等待时间,甚至更长。当开始第一个会话的时候,在SSH用户认证提示出现之前,会在客户端上有一个“.”号提示符。一般情况下,这个提示符并不影响SSH的功能。当用户在SSH密钥交换期间,使用私钥生成服务器密钥或者加密一个消息的时候,在用户认证出现之前,这个提示符将会出现在 SSH客户端上。我们可以把它看作是一个进程指示器,表示SSH正忙,没有当机。这个过程根据网络状况的不同,持续的时间也有长短。一般在两分钟以内的,可以当作正常情况。若超过这个时间的话,则管理员就需要调整相关的配置,不然会对SSH的正常操作产生影响。
过采用第二种认证方式的话,会给管理员一个额外的收获。如果你的网络中,有很多个SSH服务器。如一个FTP文件服务器还有一个Cisco防火墙,你都部属了一个SSH服务器的话,则此时你作为管理员,就可以只用一个口令就登录到所有你想登录的服务器上去。