Как заставить телнет работать на localhost?

10

Я работаю над локальной настройкой разработчика, которая требует использования telnet (игра с настройкой сервера MUD), поэтому, пожалуйста, не оставляйте отзывов, предлагающих использовать SSH в качестве более безопасной альтернативы.

Однако, хотя у меня запущен демон telnet, я получаю этот вывод, когда я telnet localhost.

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

По каким причинам соединение закрыто? Я проверил документы на hosts.allow и hosts.deny, и решил не помещать в них ни одной записи, так как по умолчанию разрешено все, и этого достаточно для моих локальных целей разработки.

Джером
источник
2
Я думаю, вам придется рассказать нам больше о конкретном многопользовательском программном обеспечении для подземелий, которое вы используете. telnetdДемон Ubuntu обычно работает просто отлично из коробки ... но он также дает вам нормальный логин. Я предполагаю, что сам сервер MUD прослушивает порт 23, поэтому проблема, вероятно, в его конфигурации. Скорее всего, это не имеет ничего общего с тем, что вы делаете с telnetклиентом. В качестве альтернативы, если вы пытаетесь использовать свой сервер MUD с собственной Ubuntu telnetd, сообщите нам, какую конфигурацию вы использовали, чтобы попытаться облегчить это.
Элия ​​Каган
Сервер MUD обычно не использует telnetd. Он работает в качестве службы на другом порту.
Алистер Бакстон
Хорошо, я не знал, что сервер MUD, скорее всего, не будет использовать нативный демон. Я работаю над использованием библиотеки игрового сервера PHP, которая, как я предполагал, работала "поверх" собственного telnet.
Джером
Какая библиотека и что вы с ней сделали? Если это PHP, это предполагает, что он может предоставить сетевой сервер MUD (хотя это не гарантировано), а не сервер на основе telnet. Кроме того , предполагается , что вы установили telnetdи не менять свою конфигурацию, это все-таки интересно , что вы не в состоянии получить оболочку , когда вы telnetк localhost. Вам все еще нужна помощь в решении этой проблемы, даже если это не помешает вам запустить сервер MUD?
Элия ​​Каган
2
Если ваш сервер работает через inetd, inetd довольно часто слушает порт и закрывает соединения таким образом, как вы видите, если не удается запустить реальный демон сервера. Это может быть полезной подсказкой для вас, или это может быть совершенно неактуально. Я не уверен, какой.
Роби Басак

Ответы:

2

Хорошо, давайте исследуем это, шаг за шагом. Чтобы выяснить, что на самом деле работает через порт telnet, введите:

sudo netstat -tulpn | grep :23

и вставьте вывод.

С другой стороны: какую библиотеку PHP игр вы используете?

0xF2
источник
Хорошо! Похоже, мы можем куда-нибудь добраться.
Джером
tcp 0 0 0.0.0.0:23 0.0.0.0:* LISTEN 2842/inetd
Джером
Библиотека игр PHP называется NAGS, и похоже, что, основываясь на некоторых электронных письмах ее создателя, она все еще находится в самом неполном состоянии. Но мне интересно довести эту проблему до финиша с помощью информации, которую я собираю по пути.
Джером
1

Примечание: Я просто пошел вокруг в поисках 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затем подключиться к порту 4000 с помощью telnet: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
blvdeer
источник
Это именно то, чем я занимался, без положительных результатов.
Джером
Обновил ответ. Также в вопросе вы упомянули telnet localhostвместоtelnet localhost 4000
blvdeer
Да, я надеюсь получить ответ от разработчика библиотеки NAGS. Что касается конкретной проблемы telnet (до 4000 или 23 или любого порта), все еще для предложений.
Джером
-2

Попробуйте, telnet localhost 80 где 80 - это порт, на котором работает ваш сервер. Я попытался с 80 портом для сервера Apache, и он работает.

Также вам может понадобиться использовать опции -K и -X. Подробнее о них читайте в man telnet

Абхиджит Н
источник
3
Apache - это веб-сервер, а порт 80 - это порт для HTTP. Telnet работает для подключения к различным серверам, так как это очень простой протокол - вы можете вручную вводить команды для HTTP, SMTP и так далее. Порт 23 является портом для telnetd. Так что нет никаких оснований ожидать, что он будет работать на порту 80. Иногда люди запускают не HTTP-серверы на порту 80, чтобы позволить клиентам обойти ограничения исходящего брандмауэра, но нет никаких признаков того, что здесь происходит. Здесь OP настроить сервер. серверы telnet и MUD вряд ли будут прослушивать порт 80, не настроившись на это.
Элия ​​Каган
2
Кроме того, здесь есть сервер, работающий на порту 23, потому что было установлено соединение. Это было просто прекращено после этого. Если бы сервер работал на другом порту, а на порту 23 ничего не прослушивалось, соединение было бы отклонено.
Элия ​​Каган
Да, мы устанавливаем связь, но затем она закрыта. Первоначально заставил меня думать, что была какая-то причина безопасности.
Джером