Telnet 接続が外部ホストによって終了しました。

Telnet 接続が外部ホストによって終了しました。

2台のコンピュータが同じネットワークに接続されていclient PC IP: 10.49.46.5/24ます。server PC IP: 10.49.46.2/24これら 2 台のコンピュータ間の対話型通信を生成するためにコマンドを使用しようとすると、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。クラシックバージョンとは異なり、telnetdBusyboxが提供するサービスはスタンドアロンデーモンであり、対話するオプションが-i必要ですinetd(スタンドアロンデーモンと互換性のない特定のインターフェイスによって開始されたサービスinetd:利用できません)。ソケットが開いていてリスニングしている場合は、stdin / stdoutを介してクライアントと通信する必要があります。

したがって、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
}

おすすめ記事