Comment faire fonctionner telnet sur localhost?

10

Je travaille sur une configuration de développement local qui nécessite l'utilisation de telnet (en jouant avec la configuration d'un serveur MUD), donc s'il vous plaît aucun commentaire suggérant d'utiliser SSH comme alternative plus sécurisée.

Cependant, bien que le démon telnet soit activé, j'obtiens cette sortie lorsque je Telnet localhost.

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

Quelles sont les raisons pour lesquelles la connexion est fermée? J'ai vérifié les documents sur hosts.allow et hosts.deny, et j'ai décidé de ne mettre aucune entrée non plus car la valeur par défaut est de tout autoriser et cela est suffisant pour mes objectifs de développement local.

Jérôme
la source
2
Je pense que vous devrez nous en dire plus sur le logiciel de donjon multi-utilisateurs spécifique que vous utilisez. Le telnetddémon d'Ubuntu fonctionne normalement très bien hors de la boîte ... mais il vous donne également une connexion normale. Je suppose que le serveur MUD lui-même est ce qui écoute sur le port 23, donc le problème est probablement dans sa configuration. Cela n'a probablement rien à voir avec ce que vous faites avec le telnetclient. Alternativement, si vous essayez d'utiliser votre serveur MUD avec Ubuntu natif telnetd, veuillez nous indiquer la configuration que vous avez utilisée pour essayer de faciliter cela.
Eliah Kagan
Le serveur MUD n'utilise généralement pas telnetd. Il s'exécute en tant que service sur un port différent.
Alistair Buxton
Ok, je ne savais pas que le serveur MUD n'utiliserait probablement pas le démon natif. Je travaille sur l'utilisation d'une bibliothèque de serveur de jeux PHP, qui, je suppose, fonctionnait "au-dessus" de telnet natif.
Jerome
Quelle bibliothèque et qu'en avez-vous fait? Si c'est PHP, cela suggère qu'il pourrait fournir un serveur MUD basé sur le Web (bien que ce ne soit pas garanti), plutôt qu'un serveur basé sur Telnet. De plus, en supposant que l' installation telnetdet n'a pas changé sa configuration, il est toujours curieux que vous n'êtes pas en mesure d'obtenir un shell lorsque vous telnetà localhost. Souhaitez-vous toujours de l'aide pour résoudre ce problème, même si cela ne vous empêchera probablement pas d'exécuter votre serveur MUD?
Eliah Kagan
2
Si votre serveur s'exécute via inetd, il est assez courant pour inetd d'écouter sur un port et de fermer les connexions de la manière que vous voyez si le démon de serveur réel ne peut pas ensuite être démarré. Cela pourrait être un indice utile pour vous, ou cela pourrait être complètement hors de propos. Je ne sais pas trop.
Robie Basak

Réponses:

2

D'accord, étudions cela étape par étape. Pour comprendre ce qui fonctionne réellement sur le port de telnet, tapez:

sudo netstat -tulpn | grep :23

et collez la sortie.

Sous un autre angle: quelle bibliothèque de jeux PHP utilisez-vous?

0xF2
la source
Bien! On dirait que nous pouvons arriver quelque part.
Jerome
tcp 0 0 0.0.0.0:23 0.0.0.0:* LISTEN 2842/inetd
Jerome
La bibliothèque de jeux PHP s'appelle NAGS, et il semble que, d'après certains e-mails avec son créateur, elle soit toujours en elle-même dans un état loin d'être complet. Mais je suis intéressé à porter ce problème jusqu'à la ligne d'arrivée avec les informations que je ramasse en cours de route.
Jerome
1

Note: Je suis juste allé autour de la recherche pour le serveur MUD avec la bibliothèque de jeu NAGS et trouvé ceci: nags-php-mud. Ma réponse est sans importance si vous utilisez autre chose.

Le config.phpavait la configuration suivante:

<?
    /*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',
);?>

Le numéro de port est donc 4000. Pouvez-vous essayer de mettre à jour l'adresse IP pour 127.0.0.1ensuite vous connecter au port 4000 en utilisant telnet:telnet 127.0.0.1 4000

Mis à jour
Dans la commande ci-dessus, vous aveztelnet localhostet nontelnet localhost 4000.
J'ai essayé de le lancer mais je reçois un problème. Il affiche ce qui suit et je ne peux pas le retracer:

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
la source
C'est exactement ce que j'ai fait, sans résultats positifs.
Jerome
Mis à jour la réponse. Également dans la question, vous avez mentionné telnet localhostau lieu detelnet localhost 4000
blvdeer
Oui, j'espère avoir des nouvelles du développeur de la bibliothèque NAGS. En ce qui concerne le problème telnet spécifique (à 4000 ou 23 ou à n'importe quel port), restez à jour pour des suggestions.
Jerome
-2

Essayez avec telnet localhost 80 Où 80 est le port sur lequel votre serveur fonctionne. J'ai essayé avec 80 ports pour le serveur apache et cela fonctionne.

Vous devrez peut-être également utiliser les options -K et -X. En savoir plus sur eux dans le man telnet

Abhijit N
la source
3
Apache est un serveur Web et le port 80 est le port pour HTTP. Telnet fonctionne pour se connecter à une variété de serveurs car il s'agit d'un protocole très basique - vous pouvez entrer manuellement des commandes pour HTTP, SMTP, etc. Le port 23 est le port pour telnetd. Il n'y a donc aucune raison de s'attendre à ce qu'il s'exécute sur le port 80. Parfois, les gens exécutent des serveurs non HTTP sur le port 80 pour permettre aux clients de contourner les restrictions de pare-feu sortantes, mais rien n'indique ce qui se passe ici. Ici, l'OP a configuré le serveur. Les serveurs Telnet et MUD sont peu susceptibles d'écouter sur le port 80 sans être configurés pour le faire.
Eliah Kagan
2
De plus, il est un serveur en cours d' exécution sur le port 23 ici, parce que la connexion a été établie. Il a juste été résilié après cela. Si le serveur fonctionnait sur un port différent et qu'il n'y avait rien à écouter sur le port 23, la connexion aurait été refusée.
Eliah Kagan
Oui, nous établissons la connexion, mais elle est fermée. A l'origine, j'ai pensé qu'il y avait une raison de sécurité.
Jerome