关于客户端登录验证的问题。我们在客户端上连结Telnet服务器时,经常会看到这样的错误信息:
Server allows NTLM authentication only
Server has closed connection
这是因为默认情况下,win2000的Telnet服务使用NTLM的验证方式,这种验证方式避免了明文密码的传送,提高了安全性。但是win98、nt4.0等系统的Telnet客户端客户端不支持这种方式,这样就带来了不便。有时我们希望在登录Telnet时,提示我们输入用户名和密码,那我们可以这样设置:
开始菜单|程序|管理工具|Telnet服务器管理(或者运行tlntadmn),选择3 显示/更改注册表设置,然后选择7 NTLM,进行修改。可接受的值为0-2,2是NTLM only,0是NTLM not available,1是二者都支持,默认值是2。修改后需要重新启动Telnet服务。
为了提高安全性,有时我们也在服务器端修改服务的默认端口号,这样客户机连结时就需要提供端口号信息了。修改的方法是:
开始菜单|程序|管理工具|Telnet服务器管理,选择3 显示/更改注册表设置,然后选择8 Telnetport,输入你要设置的端口号。注意输入的端口号不要和你的服务器上正在使用的端口冲突。修改后同样需要重新启动Telnet服务。
NTLM身份验证选项的默认是2。可以有下面这些值:
0: 不使用 NTLM 身份验证。
1: 先尝试 NTLM 身份验证,如果失败,再使用用户名和密码。
2: 只使用 NTLM 身份验证。
而当设定不同的NTLM时,登陆显现的信息也不同:
1)身份验证选项=0时
=====================================
Microsoft (R) Windows (TM) Version 5.00 (Build 2195)
Welcome to Microsoft Telnet Service
Telnet Server Build 5.00.99201.1
login:
password:
2)身份验证选项=1时
=====================================
NTLM Authentication failed due to insufficient credentials. Please login withclear text username and password
Microsoft (R) Windows (TM) Version 5.00 (Build 2195)
Welcome to Microsoft Telnet Service
Telnet Server Build 5.00.99201.1
login:
password:
3)身份验证选项=2时
=====================================
NTLM Authentication failed due to insufficient credentials. Please login withclear text username and password
Server allows NTLM authentication only
Server has closed connection
遗失对主机的连接。
C:\>
而我遇到的情况就是第三种。
那怎么绕过这个门槛,我查到有不少方法,而我个人验证的有:
1通过修改远程注册表更改telnet服务器配置,将验证方式从2改为1或0;
2使用NTLM.exe,上传后直接运行,可将telnet服务器验证方式从2改为1;
3在本地建立扫描到的用户,以此用户身份开启telnet客户机并进行远程登录;
4使用opentelnet.exe(需要管理员权限且开启IPC管道) : OpenTelnet.exe \\服务器地址 管理员用户名密码 验证方式(填0或1) telnet端口
本文转自leonardos51CTO博客,原文链接:http://blog.51cto.com/leomars/1166740 ,如需转载请自行联系原作者