Я пытаюсь настроить ASCII Art Telnet Server, как классический проект ASCII Star Wars:

telnet towel.blinkenlights.nl

https://github.com/nitram509/ascii-telnet-server

У меня был успех в настройке сервера telnet, но я пропустил последний шаг запуска asciiplayer при входе в telnet. (В идеале мне бы хотелось, чтобы он работал как полотенце.blinkenlights.nl, где вам не нужно входить в систему, и сразу же запускается фильм ASCII.)

НАСТРОЙКА ТЕЛНЕТА

Вот шаги, которые я выполнил, используя свежую дроплет Digital Ocean под управлением Ubuntu 16.04.2 x64 после настройки брандмауэра и открытия порта 23.

установить telnetd и xinetd: sudo apt-get install xinetd telnetd

создать файл telnet в /etc/xinetd.d: sudo nano /etc/xinetd.d/telnet

# default: on
# description: The telnet server serves telnet sessions; it uses
# unencrypted username/password pairs for authentication.
service telnet
{
        disable = no
        flags = REUSE
        socket_type = stream
        wait = no
        user = root
        server = /usr/sbin/in.telnetd
        log_on_failure += USERID
}

Перезапустите сервис xinetd: sudo service xinetd restart

ПОЛУЧЕНИЕ РАБОТЫ ASCIIPLAYER

Я подтвердил, что это разрешает доступ через telnet (используя имя пользователя / пароль)

Я загрузил папку asciiplayer в /opt/

Согласно README для asciiplayer, мне нужно заменить вышеуказанную конфигурацию в /etc/xinetd.d/telnet с битом ниже:

# default: on
# description: An telnet service playing an ASCII movie
service telnet
{
        disable         = no
        socket_type     = stream
        protocol        = tcp
        port            = 23
        user            = root
        wait            = no
        instances       = 10

        log_type        = FILE /var/log/asciiplayer
        log_on_success  += PID HOST DURATION
        log_on_failure  = HOST
        server          = /usr/bin/python
        server_args     = -u -OO /opt/asciiplayer/ascii_telnet_server.py -f /opt/asciiplayer/sw1.txt --stdout
}

После этого я больше не могу telnet на сервер. Это просто возвращает:

telnet: невозможно подключиться к удаленному хосту: соединение отклонено

Какую часть процесса я пропускаю? Я чувствую, что это очень близко. Я проделал описанный выше процесс несколько раз и просто не могу заставить ascii_telnet_server.py работать при telnetting. Мир нуждается в большем количестве ASCII фильмов по телнету! Любая помощь будет принята с благодарностью ...

1 ответ1

0

Благодаря комментарию / подсказке @ dirkt, я смог найти простое решение.

Запуск /opt/asciiplayer/ascii_telnet_server.py -f /opt/asciiplayer/sw1.txt --stdout напрямую от имени пользователя root привел к следующей ошибке:

/opt/asciiplayer/ascii_telnet_server.py: line 43: 

: No such file or directory
from: can't read /var/mail/__future__
/opt/asciiplayer/ascii_telnet_server.py: line 46: import: command not found
/opt/asciiplayer/ascii_telnet_server.py: line 47: import: command not found
from: can't read /var/mail/optparse
from: can't read /var/mail/ascii_telnet.ascii_movie
from: can't read /var/mail/ascii_telnet.ascii_player
from: can't read /var/mail/ascii_telnet.ascii_server
/opt/asciiplayer/ascii_telnet_server.py: line 55: syntax error near unexpected token `('
/opt/asciiplayer/ascii_telnet_server.py: line 55: `def runTcpServer(interface, port, filename):'

Который выглядел так, как будто проблема была простой проблемой пути Python ... Итак, я заменил # !/usr/bin/env python в opt/asciiplayer/ascii_telnet_server.py с # !/usr/bin/python (это путь, который мне дал which python )

Для вашего удовольствия ASCII, попробуйте: telnet 138.197.212.250 (IP может быть изменен, так как я продолжаю dev)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .