telnetをlocalhostに機能させるには?


10

私はtelnet(MUDサーバーの設定で遊んで)の使用を必要とするローカル開発セットアップに取り組んでいるので、より安全な代替手段としてSSHを使用することを示唆するフィードバックはありません。

しかし、私はtelnetデーモンを立ち上げましたが、localhostにtelnetするとこの出力が得られます。

$ telnet localhost
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connection closed by foreign host.

接続が閉じられた理由は何ですか?私はhosts.allowとhosts.denyのドキュメントをチェックしましたが、デフォルトではすべてを許可するようにしており、ローカルの開発目的にはこれで十分であるため、どちらにもエントリを入れないことにしました。


2
使用している特定のマルチユーザーダンジョンソフトウェアについて詳しく教えてください。Ubuntuのtelnetdデーモンは、通常、箱から出しても問題なく動作しますが、通常のログインも可能です。MUDサーバー自体がポート23でリッスンしているものだと思うので、問題はおそらくその構成にあります。ほとんどの場合、telnetクライアントで行っていることとは関係ありません。あるいは、ネイティブのUbuntu telnetdでMUDサーバーを使用しようとしている場合は、これを容易にするために使用した構成を教えてください。
Eliah Kagan 2013

MUDサーバーは通常telnetdを使用しません。別のポートでサービスとして実行されます。
Alistair Buxton 2013年

わかりました、MUDサーバーがネイティブデーモンを使用しない可能性があることを知りませんでした。PHPゲームサーバーライブラリの使用に取り組んでいます。これは、ネイティブTelnetの「上」で実行されていると想定しています。
ジェローム2013年

どのライブラリー、そしてあなたはそれをどのように使いましたか?それがPHPの場合、これは、Telnetベースのサーバーではなく、WebベースのMUDサーバーを提供する可能性があることを示唆しています(ただし、これは保証されていません)。また、あなたがインストールと仮定telnetdし、その設定を変更していない、それはあなたがしたときにシェルを取得することはできませんことを、まだ好奇心だtelnetlocalhost。MUDサーバーの実行の邪魔にならない可能性があるとしても、その問題のヘルプが必要ですか?
Eliah Kagan 2013

2
サーバーがinetdを介して実行されている場合、inetdがポートをリッスンし、実際のサーバーデーモンを起動できない場合と同じように接続を閉じるのはよくあることです。これはあなたにとって有用な手がかりになるかもしれませんし、完全に無関係かもしれません。どちらかわかりません。
Robie Basak 2013年

回答:


2

さて、これを一歩ずつ調べていきましょう。Telnetのポートで実際に何が実行されているかを調べるには、次のように入力します。

sudo netstat -tulpn | grep :23

出力を貼り付けます。

別の角度から:どのPHPゲームライブラリを使用していますか?


よし!どこかに到達するかもしれませんね。
ジェローム2013年

tcp 0 0 0.0.0.0:23 0.0.0.0:* LISTEN 2842/inetd
ジェローム2013年

PHPゲームライブラリはNAGSと呼ばれ、作成者からのいくつかの電子メールに基づいて、それ自体はまだ完全な状態ではないようです。しかし、私はこの問題を、途中で見つけた情報を使ってフィニッシュラインまで運ぶことに興味があります。
ジェローム2013年

1

注: NAGSゲームライブラリを備えたMUDサーバーを探したところ、次のようになりました:nags-php-mud。他のものを使用している場合、私の答えは関係ありません。

の構成config.phpは次のとおりです。

<?
    /*Modify the setting here to set up your game server */
    $configarray = array(
        'DB_HOST' => 'localhost',
        'DB_USERNAME' => 'nags',
        'DB_PASSWORD' => 'password',
        'DB_DATABASE' => 'nags',
        'IP_ADDRESS' => '0.0.0.0',
        'SERVER_PORT' => '4000',
        'SERVER_NAME' => 'NAGS GAMING SYSTEM',
);?>

したがって、ポート番号は4000です。IPアドレスを更新してから127.0.0.1、telnetを使用してポート4000に接続してみてください。telnet 127.0.0.1 4000

更新
上記のコマンドでは、とではtelnet localhostありませんtelnet localhost 4000
実行してみましたが、問題が発生します。次のように表示され、追跡できません。

PHP Notice:  Undefined index: quiet in /home/blvdeer/Downloads/nags-php-mud-master/nags.php on line 34  
PHP Notice:  Undefined index: q in /home/blvdeer/Downloads/nags-php-mud-master/nags.php on line 34
PHP Notice:  Undefined index: deamon in /home/blvdeer/Downloads/nags-php-mud-master/nags.php on line 38
PHP Notice:  Undefined index: d in /home/blvdeer/Downloads/nags-php-mud-master/nags.php on line 38
PHP Notice:  Undefined property: MAIN::$MESSAGE in /home/blvdeer/Downloads/nags-php-mud-master/modules/main.php on line 158
SYSTEM: (LOAD MODULE)   MESSAGE
SYSTEM: (LOAD MODULE)   CONFIGURE
SYSTEM: (LOAD MODULE)   DATABASE

それは正の結果なしで、私が今までやってきたことです。
ジェローム2013年

回答を更新しました。また、質問では、telnet localhost代わりに言及しましたtelnet localhost 4000
blvdeer 2013年

ええ、NAGSライブラリの開発者からの連絡をお待ちしています。特定のTelnetの問題(4000または23または任意のポートへ)に関しては、まだ提案が必要です。
ジェローム2013年

-2

試しtelnet localhost 80 80は、サーバーが実行されているポートです。私はapacheサーバー用の80ポートを試してみましたが、動作します。

また、-Kおよび-Xオプションを使用する必要がある場合もあります。それらについてman telnetでもっと読む


3
ApacheはWebサーバーであり、ポート80はHTTPのポートです。Telnetは非常に基本的なプロトコルであるため、さまざまなサーバーに接続できます。HTTPやSMTPなどのコマンドを手動で入力できます。ポート23はtelnetdのポートです。したがって、ポート80で実行されると期待する理由はありません。ポート80で非HTTPサーバーを実行して、クライアントが送信ファイアウォールの制限を回避できるようにすることもありますが、ここで何が行われているのかはわかりません。ここでは、OPがサーバーをセットアップします。telnetサーバーとMUDサーバーは、ポート80でリッスンするように構成されていなければ、リッスンすることはほとんどありません。
Eliah Kagan 2013

2
さらに、接続が行われたため、ここではポート23で実行されているサーバーあります。その後ちょうど終了しました。サーバーが別のポートで実行されていて、ポート23で何もリッスンしていない場合、接続は拒否されたはずです。
Eliah Kagan 2013

ええ、私たちは接続を行っていますが、それから閉じられます。もともとセキュリティ上の理由があると思いました。
ジェローム2013年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.