可以自动验证telnet吗?

2024-05-14 15:43:16 发布

您现在位置:Python中文网/ 问答频道 /正文

使用telnetlib时,我注意到一些有趣的变量:

AUTHENTICATION = chr(37) # Authenticate
XAUTH = chr(41) # XAUTH
PRAGMA_LOGON = chr(138) # TELOPT PRAGMA LOGON
SSPI_LOGON = chr(139) # TELOPT SSPI LOGON

另外,this page列出了一些详细描述AUTHENTICATION选项的rfc。在

如果我理解正确,如果telnet服务器支持身份验证,那么在连接到它时,我应该正在接收IAC DO AUTHENTICATION。但是,当尝试连接到Linux机器上的telnetd时,我没有收到这个选项,因此我无法发送IAC WILL AUTHENTICATION。在

我的理解正确吗?有没有办法让服务器执行身份验证?甚至可以自动验证telnet会话吗?(没有听“登录:”、“用户名:”、“密码:”和类似的提示)


Tags: 服务器身份验证authentication选项thistelnetauthenticatesspi
1条回答
网友
1楼 · 发布于 2024-05-14 15:43:16

是的,您正确地理解了RFC 1416。如果服务器支持身份验证,则应首先发送DO。无论如何,您都可以尝试发送WILL,但这违反了规范,而且可能无论如何都不起作用。在

在Linux telnetd中,您可能是指netkit telnetd。据我在其个人主页上看到:

-a authmode This option may be used for specifying what mode should be used for authentication. Note that this option is only useful if telnetd has been compiled with support for authentication, which is not available in the current version. [...]

所以我只能说它不能这么做。我使用的是OpenBSD telnetd(telnet-bsd包,在Gentoo中);它似乎有一些身份验证位,但我根本无法让它工作。我怀疑它只支持基于Kerberos的身份验证。在

查看RFC 2941中的身份验证类型列表,似乎大多数身份验证类型都从未指定过。看看这些,DSS/DSA最有趣(它也用于SSH),但我想要找到一个兼容的服务器客户机是非常困难的。遗憾的是,那里似乎没有关于简单(明文)认证的建议。在

所以,总而言之:是的,如果有人实现了它,它是可能的。但由于telnet实际上已经死了,我怀疑您是否能找到相应的服务器实现。即使你这样做了,你也必须自己编写客户端,这对于支持的方案来说并不容易。所以我怀疑这样做是否值得。在

相关问题 更多 >

    热门问题