FreeBSD 上使用Kerberos 5认证

http://tech.ddvip.com   2006年04月01日    社区交流

本文详细介绍FreeBSD 上使用Kerberos 5认证

  5) Client → Server:用户cnhawk向Server提供cnhawk,TGT和host/s ;Server根据主机的上保存的host/s和用户cnhawk的信息来验证cnhawk的登陆申请。

  6) Server → Client:Server确认,发送信息给Client允许cnhawk登陆Server。

  4.一个应用实例

  为了更清楚的说明Kerberos 5认证协议,实际应用中的例子(具体例子可以在我们后边的实际应用中看到):假设某一局域网A,它的DNS域为the9.com;Realm为THE9.COM;Kerberos的数据库,AS以及TGS服务器都在主机test1.the9.com上。A中主机test2.the9.com上的用户cnhawk对应的Principal为cnhawk/test2.the9.com@THE9.COM;A中的另一台主机test3.the9.com上的telnet服务器对应的Principal为host/test3.the9.com@THE9.COM。Rlogin的客户端程序telnet和服务端程序telnetd都是支持Kerberos的,即都支持Kerberos认证协议。cnhawk想用telnet远程登录到A中的另一台主机test3.the9.com上这时cnhawk所要完成的步骤是:

  ① 运行kinit程序。kinit程序的作用是向AS申请TGT,并将获得的TGT和会话密钥放在保存Credential的文件中。为此,cnhawk在命令行上键入:

% kinit cnhawk/test1.the9.com

  kinit程序在收到AS发回的消息后,就提示cnhawk输入password:

% kinit cnhawk/test1.the9.com cnhawk/test1.the9.com@THE9.COM's Password: 在cnhawk正确的输入password后,kinit程序将这个password用约定的算法转化为cnhawk的密钥,并用这个密钥解密从TGS发回的消息,从而获得下一步使用的Credential。到此,kinit程序结束。由此可见,cnhawk的password并没有在网上传输,在网上传输的只是由cnhawk的密钥加密后的东西。

  ② 运行telnet的客户端程序telnet,为此cnhawk在命令行上键入:

责编:豆豆技术应用

正在加载评论...