Мы пытаемся подключиться к службе Linux telnet, используя простую терминальную программу; Я подозреваю, что для сервера установлен VT-100 по умолчанию, а сервер telnet отправляет управляющие последовательности рукопожатия, ожидая, что терминал ответит с его поддерживаемыми параметрами, и зависает в ожидании ответа терминала.
(извинения за плохое качество изображения)
К сожалению, терминал - просто голая коммуникационная программа и не знает о протоколе telnet.
Есть ли способ сообщить серверу telnet (например, через настройку определенного типа терминала) не начинать идентификацию свойств удаленного терминала, а переходить непосредственно к связи?
Редактировать:
Пожалуйста, отредактируйте вопрос с более подробной информацией: каким терминалом вы пользуетесь, что это за программа "чистого общения"?
Коммуникационная программа открывает TCP-соединение с Linux-компьютером через порт 23, затем отправляет символы, набранные на клавиатуре, и отображает символы, полученные на экране, без какой-либо обработки символов.
Можете ли вы запустить netcat на сервере вместо (или в дополнение) telnetd и использовать это для отладки, если само соединение работает
Я не уверен, я не контролирую обе машины. Но это на 100% тот факт, что машина, на которой работает терминал, может подключаться к машине linux, а машина linux может отправлять управляющие символы протокола telnet (вы можете видеть это на рисунке - белые символы 0xff - маркер запуска опции telnet), Я не могу сказать 100%, потому что у меня нет журналов Wireshark, но кажется, что связь работает должным образом, и это telnet-сервер, который не проходит через рукопожатие протокола telnet.
После того, как вы подключитесь, вы хотите войти в систему, или вы хотите сделать что-нибудь еще? Можете ли вы использовать что-то более безопасное на терминале, например, ssh?
Да, я хочу, чтобы на сервере telnet отображалось «login:» с просьбой войти в систему. Служба telnet на машине linux работоспособна, поскольку ее можно зарегистрировать с третьей машины, используя клиент telnet, но этот клиент telnet знает о протоколе telnet и отвечает на него. В описанном выше случае программа temrinal ничего не знает о кодах / протоколах управления telnet и отображает их в виде символов без каких-либо дальнейших действий (ответ согласно протоколу telnet).