Установка и настройка Telnet-сервера в ALT Linux: пошаговый гайд для p9/p10/p11
Важное предупреждение по безопасности
Telnet передаёт все данные (включая логины и пароли) в открытом виде. Использование его в интернет-сетях или production-окружениях категорически не рекомендуется.
Данный гайд предназначен исключительно для:
- Локальных изолированных сетей (лаборатории, стенды)
- Временной диагностики
- Обучения или работы с legacy-оборудованием
Для удалённого управления всегда используйте SSH.
Требования
- ОС: ALT Linux (p9 / p10 / p11)
- Права:
rootили пользователь сsudo - Доступ к репозиториям (интернет или локальное зеркало)
- Обновлённая система:
sudo apt-get update && sudo apt-get upgrade -y
Шаг 1. Установка пакетов
В ALT Linux используется APT-совместимый менеджер пакетов.
sudo apt-get update
sudo apt-get install -y telnet telnet-server
Пакеты:
telnet→ клиент для подключенияtelnet-server→ серверная часть (telnetd+ конфигурация дляxinetdилиsystemd)
Шаг 2. Настройка службы
В современных версиях ALT Linux сервер Telnet может работать через xinetd или systemd socket. Проверьте, что установилось:
Вариант А: Через xinetd (стандартный для ALT)
1. Откройте конфигурацию:
sudo nano /etc/xinetd.d/telnet
2. Измените строку:
- disable = yes
+ disable = no
3. (Опционально) Ограничьте доступ по IP:
only_from = 192.168.1.0/24 127.0.0.1
4. Сохраните и выйдите (Ctrl+O, Enter, Ctrl+X).
Вариант Б: Через systemd socket (если пакет поддерживает)
Проверьте наличие юнита:
systemctl list-unit-files | grep telnet
Если видите telnet.socket, активируйте его:
sudo systemctl enable --now telnet.socket
Шаг 3. Запуск и проверка
Для xinetd:
sudo systemctl enable xinetd
sudo systemctl restart xinetd
sudo systemctl status xinetd
Для systemd socket:
sudo systemctl status telnet.socket
Проверьте, слушается ли порт 23:
sudo ss -tlnp | grep :23
# или
sudo netstat -tlnp | grep :23
Шаг 4. Настройка фаервола
По умолчанию порт 23/TCP блокируется. Откройте его в зависимости от вашего фаервола.
Если используется firewalld (часто в ALT Server/Desktop):
sudo firewall-cmd --permanent --add-service=telnet
sudo firewall-cmd --reload
sudo firewall-cmd --list-services
Если используется iptables напрямую:
sudo iptables -A INPUT -p tcp --dport 23 -j ACCEPT
sudo iptables-save | sudo tee /etc/sysconfig/iptables > /dev/null
# или, если используется служба:
sudo systemctl enable iptables
sudo systemctl restart iptables
Для IPv6 замените
iptablesнаip6tablesи--dportоставьте без изменений.
Шаг 5. Тестирование
Локально:
telnet localhost
С другого хоста в сети:
telnet <IP_СЕРВЕРА>
Вы должны увидеть приглашение login:. Введите существующего пользователя и пароль.
Проверка логов:
sudo journalctl -u xinetd -f # для xinetd
sudo journalctl -u telnet.socket -f # для systemd
Шаг 6. Рекомендации по безопасности
- Ограничьте доступ по IP через
only_fromв xinetd или правила фаервола.
2. Запретите root-вход через telnet (по умолчанию обычно запрещено, но проверьте /etc/securetty):
grep -q '^pts/' /etc/securetty || echo "pts/0" | sudo tee -a /etc/securetty
3. Используйте SSH вместо Telnet для любых production-задач:
sudo apt-get install -y openssh-server
sudo systemctl enable --now sshd
4. После завершения тестов отключите службу:
sudo systemctl disable xinetd # или telnet.socket
sudo systemctl stop xinetd # или telnet.socket
Устранение неполадок
| Симптом | Решение |
|---|---|
Connection refused |
Убедитесь, что disable = no, служба запущена, порт открыт в фаерволе |
Login incorrect |
Проверьте, разрешён ли вход пользователю (/etc/shells, /etc/securetty, статус аккаунта) |
telnet: command not found |
Установите клиент: sudo apt-get install telnet |
| Порт не слушается | Проверьте ss -tlnp | grep :23, убедитесь, что xinetd/telnet.socket активны |
Итог:
- Telnet в ALT Linux устанавливается через
telnet-server, управляется черезxinetd(режеsystemd socket), требует открытия порта 23 и жёсткого ограничения доступа. Для реальной работы настоятельно рекомендуется перейти на SSH.