Установка Telnet на Debian 13, 12, 11: подробное руководство

Telnet — это протокол для удалённого доступа, который передаёт все данные (включая логины и пароли) в открытом виде. Сегодня его не используют для повседневного администрирования (вместо него применяют SSH), но Telnet остаётся удобным диагностическим инструментом. С его помощью можно проверить, отвечает ли удалённый сервис на нужном порту (HTTP — 80, SMTP — 25, SSH — 22), а также вручную отправить запрос и увидеть ответ. Главные сложности при установке на Debian: в Debian 13 и 12 серверная часть требует ручного исправления файла /etc/inetd.conf (удаление пробела в начале строки), иначе порт 23 не будет слушать. Также в Debian 11 команда telnet --version не работает (старая версия).

💡 В этом руководстве вы установите Telnet-клиент (для диагностики) и, при необходимости, Telnet-сервер (для приёма входящих соединений) на Debian. Вы также узнаете, как проверить доступность портов, настроить фаервол и решить типичные проблемы.

В этой статье вы узнаете:

  • Как установить Telnet-клиент (для проверки портов)
  • Как установить Telnet-сервер (для входящих подключений)
  • Как исправить конфигурацию inetd на Debian 13/12, чтобы сервер запустился
  • Как проверить доступность портов (HTTP, SMTP, SSH) с помощью Telnet
  • Как ограничить доступ к Telnet-серверу через UFW
  • Как решить типичные проблемы: Connection refused, Connection timed out, порт 23 не слушает

Для кого: системные администраторы, разработчики, а также все, кому нужно диагностировать сетевые сервисы на Debian 11, 12 или 13.

Оглавление

1. 🔧 Предварительные требования

Перед установкой убедитесь, что:

  • У вас установлена Debian 11, 12 или 13
  • Подключение к интернету стабильно
  • У вас есть права sudo

⚠️ ВАЖНО: Проверьте права sudo перед установкой

Если вы не уверены, есть ли у вашего пользователя права администратора, выполните в терминале:

sudo whoami

Что делает: sudo выполняет команду от имени суперпользователя, whoami показывает имя текущего пользователя.

Зачем: Эта команда проверяет, есть ли у вас права sudo. Без них вы не сможете устанавливать пакеты.

✅ Если выводит root — всё в порядке, можете продолжать.

❌ Если выводит is not in the sudoers file — сначала пройдите наше руководство по настройке sudo.

1.1 Обновление системы

Перед установкой всегда обновляйте список пакетов.

sudo apt update && sudo apt upgrade -y

Что делает:

  • sudo — права суперпользователя
  • apt update — обновляет список доступных пакетов из репозиториев
  • && — выполняет следующую команду только если предыдущая успешна
  • apt upgrade -y — обновляет все установленные пакеты до последних версий

Зачем: Это стандартная практика безопасности перед установкой нового ПО.

2. 📊 Что именно устанавливать

В Debian есть два отдельных пакета для Telnet:

ПакетЧто делаетКогда нужен
telnetКлиент (для проверки портов,
подключения к другим
серверам)
Всегда, если вы планируете
использовать Telnet для
диагностики
telnetdСервер (принимает входящие
подключения на порт 23)
Только если ваша машина
должна принимать Telnet-
соединения (обычно не
нужно)

💡 Рекомендация: В большинстве случаев достаточно установить только клиент (telnet). Сервер (telnetd) нужен только для очень старых или специфических систем, и его использование крайне не рекомендуется из-за отсутствия шифрования.

3. 📦 Установка Telnet-клиента

Клиент нужен для проверки портов и подключения к другим Telnet-серверам.

3.1 Установка пакета

sudo apt install telnet -y

Что делает: Устанавливает Telnet-клиент.

3.2 Проверка установки

Для Debian 13 и 12 (версия от GNU inetutils):

telnet --version

Ожидаемый вывод в терминале:

telnet (GNU inetutils) 2.x

Для Debian 11 (старая версия netkit): Команда telnet --version не работает. Просто проверьте, что пакет установлен:

apt-cache policy telnet

Ожидаемый вывод: Installed: 0.17+2.x

4. 📦 Установка Telnet-сервера (только при необходимости)

⚠️ Предупреждение: Telnet-сервер передаёт все данные (включая пароли) в открытом виде. Используйте его только в изолированных доверенных сетях и только если без него действительно нельзя обойтись. Для удалённого администрирования используйте SSH.

4.1 Установка сервера

sudo apt install telnetd -y

Что делает: Устанавливает Telnet-сервер и суперсервер inetd, который управляет сетевыми службами.

4.2 (Важно!) Исправление конфигурации для Debian 13 и 12

На Debian 13 и 12 после установки сервера порт 23 не будет слушать, потому что в файле /etc/inetd.conf строка для Telnet начинается с пробела. Это нужно исправить.

sudo sed -i 's/^ telnet/telnet/' /etc/inetd.conf

Что делает: Удаляет пробел в начале строки, содержащей telnet.

Проверьте, что изменилось:

grep '^telnet' /etc/inetd.conf

Ожидаемый вывод: Строка, начинающаяся с telnet, а не с пробела.

4.3 Перезапуск inetd

Для Debian 13 и 12:

sudo systemctl restart inetutils-inetd.service

Для Debian 11:

sudo systemctl restart openbsd-inetd.service

4.4 Проверка, что порт 23 слушает

sudo ss -tlnp | grep ':23'

Ожидаемый вывод в терминале:

LISTEN 0      4096         0.0.0.0:23        0.0.0.0:*

5. 🧪 Использование Telnet для диагностики

Telnet-клиент позволяет вручную подключаться к любому TCP-порту и отправлять данные.

5.1 Проверка HTTP-сервера (порт 80)

telnet example.com 80

После подключения введите HTTP-запрос (два раза нажмите Enter после заголовков):

GET / HTTP/1.1
Host: example.com
Connection: close

Что делает: Отправляет HTTP-запрос к серверу. Вы увидите заголовки ответа и тело страницы.

5.2 Проверка SMTP-сервера (порт 25)

telnet mail.example.com 25

После подключения введите:

HELO test.com
MAIL FROM: <test@example.com>
RCPT TO: <recipient@example.com>
DATA
Subject: Test

This is a test message.
.
QUIT

5.3 Проверка SSH-сервера (порт 22)

telnet 192.168.1.100 22

Ожидаемый вывод: Баннер SSH (например, SSH-2.0-OpenSSH_9.2). Это доказывает, что порт открыт.

6. 🔥 Ограничение доступа к Telnet-серверу через UFW

Если вы установили Telnet-сервер, обязательно ограничьте доступ к порту 23.

6.1 Установка UFW (если не установлен)

sudo apt install ufw -y

6.2 Разрешить SSH (чтобы не заблокировать себя)

sudo ufw allow ssh

6.3 Разрешить Telnet только с конкретного IP

sudo ufw allow from 192.168.1.10 to any port 23

6.4 Включить UFW

sudo ufw enable

6.5 Проверка правил

sudo ufw status numbered

Ожидаемый вывод:

Status: active

     To                         Action      From
[ 1] 22/tcp                     ALLOW IN    Anywhere
[ 2] 23                         ALLOW IN    192.168.1.10

7. ⚠️ Решение типичных проблем

7.1 Ошибка: Connection refused

Симптом: При попытке подключения к порту появляется Connection refused.

Причина: Сервис не слушает на этом порту, или порт закрыт фаерволом.

Пошаговое решение:

Шаг 1: Проверьте, слушает ли сервис нужный порт (для локального сервера):

sudo ss -tlnp | grep :порт

Шаг 2: Если вы проверяете удалённый сервер, убедитесь, что на нём запущен соответствующий сервис.

Шаг 3: Проверьте фаервол на сервере:

sudo ufw status

7.2 Ошибка: Connection timed out

Симптом: Команда telnet зависает и через время выдаёт Connection timed out.

Причина: Пакеты не доходят до сервера (фаервол блокирует, или сервер недоступен по сети).

Пошаговое решение:

Шаг 1: Проверьте базовую связность:

ping ip_адрес_сервера

Шаг 2: Если пинг работает, а Telnet нет — фаервол на сервере или по пути блокирует порт.

7.3 На Debian 13/12 порт 23 не слушает после установки telnetd

Симптом: ss -tlnp | grep ':23' ничего не показывает.

Причина: В файле /etc/inetd.conf строка для Telnet начинается с пробела, из-за чего inetd игнорирует её.

Решение:

sudo sed -i 's/^ telnet/telnet/' /etc/inetd.conf
sudo systemctl restart inetutils-inetd.service

7.4 Команда telnet —version не работает на Debian 11

Симптом: telnet --version выдаёт ошибку.

Причина: В Debian 11 используется старая версия netkit, которая не поддерживает флаг --version.

Решение: Используйте apt-cache policy telnet для проверки установки.

8. ❌ Удаление Telnet

Удаление клиента и сервера

sudo apt remove --autoremove telnet telnetd -y

Удаление правил UFW (если добавляли)

sudo ufw status numbered
sudo ufw delete номер_правила

Проверка удаления

command -v telnet

Ожидаемый вывод: Пустая строка (если Telnet больше не установлен).

9. 📝 Чек-лист: всё готово к работе

  • [ ] Система обновлена (sudo apt update && sudo apt upgrade -y)
  • [ ] Telnet-клиент установлен (telnet доступен в терминале)
  • Telnet-сервер установлен и порт 23 слушает (ss -tlnp | grep ':23')
  • [ ] (Для Debian 13/12) Исправлен файл /etc/inetd.conf (удалён пробел)
  • [ ] (Для сервера) UFW настроен и разрешает доступ только с доверенных IP
  • [ ] Telnet успешно подключается к тестовым портам (например, telnet example.com 80)

Заключение

Вы установили Telnet на Debian. Клиент (telnet) — это полезный диагностический инструмент для проверки доступности TCP-портов и ручного тестирования сервисов (HTTP, SMTP, SSH). Сервер (telnetd) устанавливать не рекомендуется без крайней необходимости, так как он не шифрует трафик. Если вы всё же установили сервер на Debian 13/12, не забудьте исправить /etc/inetd.conf и перезапустить inetd. И всегда ограничивайте доступ к Telnet-серверу через UFW.

Что дальше:

  • Используйте Telnet для диагностики: проверьте, отвечает ли ваш веб-сервер на порту 80 или 443
  • Для регулярного администрирования настройте SSH
  • Для проверки портов также можно использовать nc (netcat) или nmap
  • Изучите возможности openssl s_client для диагностики защищённых соединений (HTTPS, SMTPS)