Telnet 连接已被外部主机关闭

Telnet 连接已被外部主机关闭

client PC IP: 10.49.46.5/24server PC IP: 10.49.46.2/24连接到同一网络的两台计算机。当我尝试使用命令在这两台计算机之间创建交互式通信时telnet,我得到以下信息:

[root@xxx:~]# telnet 10.49.46.2
Trying 10.49.46.2...
Connected to 10.49.46.2.
Escape character is '^]'.

Connection closed by foreign host.
[root@xxx:~]#

服务器xinetd.conf如下:

    defaults
    {
            instances               = 60
            log_type                = SYSLOG authpriv
            log_on_success          = HOST PID EXIT
            log_on_failure          = HOST ATTEMPT
            cps                     = 25 30
    }
includedir /etc/xinetd.d

服务器telnet.config如下:

service telnet
{
        flags           = REUSE
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/sbin/telnetd
        log_on_failure  += USERID
        instances       = 10
        disable         = no
}

它们TCPWrapper hosts.allow是:

telnetd: /etc/telnetd.hosts
tfdpd: /etc/tftpd.hosts
sshd: /etc/sshd.hosts

它们TCPWrapper hosts.deny是:

ALL:ALL

现在:

  1. 我检查了一下ssh,它正在运行port 22
  2. 我检查了一下/var/log/message,发现该命令xinetd启动然后立即退出telnet。
  3. 我检查了iptables不要使用以下命令删除 telnet 包:iptables -L

您能帮我找出问题所在以及如何解决它吗?

答案1

[root@xxx:~]# telnet 10.49.46.2
Trying 10.49.46.2...
Connected to 10.49.46.2.
Escape character is '^]'.

这意味着您已经成功与远程守护程序建立了 TCP 连接。什么守护进程?xinetd充当枢纽的那个。现在您已连接,xinetd请尝试启动特定服务 ( telnet)。

Connection closed by foreign host.

这意味着启动telnet服务失败。您可能需要向telnetd命令行添加调试选项并读取xinetd日志以查看到底发生了什么故障。


您似乎正在运行 BusyBox 版本的telnetd.与经典版本相反telnetd,Busybox 提供的服务是一个独立的守护进程,需要一个-i选项来与之交互inetd(由具有与独立守护进程不兼容的特定接口启动的服务inetd:它们不能打开和侦听套接字,它们必须与客户端通过标准输入/标准输出)。

因此,您的xinetd配置应该是:

service telnet
{
        flags           = REUSE
        socket_type     = stream
        wait            = no
        user            = root
        server          = /usr/sbin/telnetd
        server_args     = -i
        log_on_failure  += USERID
        instances       = 10
        disable         = no
}

答案2

用 指定 telnet 端口telnet 10.49.46.2 24

根据康耐视相机手册,“提供端口号会禁用 Unix 用户名/密码身份验证,并强制 Unix 系统提示您输入用户名和密码。”

答案3

xhienne 提出了一些很好的观点。 TCP 握手即将完成。连接关闭意味着以下两件事之一。

1)telnetd服务启动时失败(检查日志)

2) 您连接的客户端未在 /etc/telnetd.hosts 中列出(检查您的日志,或暂时重命名 /etc/hosts.deny 进行确认)

客户端IP:10.49.46.5/24

不,IP 主机地址没有网络掩码。

请停止使用 telnetd。每次你远程登录时,都会有小猫哭。 (使用 ssh 或 telnet-tls)

答案4

尝试以下命令:

sudo apt install tcpd

相关内容