Подробный гайд по исправлению ошибки «Невозможно найти пакет telnetd» в Linux - Часть 4
Проверка порта 23
Telnet по умолчанию использует порт 23.
Проверить, слушается ли порт:
sudo ss -tulpn | grep :23
или:
sudo netstat -tulpn | grep :23
Настройка файрвола
Если используется firewalld
CentOS/RHEL/Fedora:
sudo firewall-cmd --permanent --add-service=telnet
sudo firewall-cmd --reload
или открыть порт:
sudo firewall-cmd --permanent --add-port=23/tcp
sudo firewall-cmd --reload
Если используется ufw
Ubuntu/Debian:
sudo ufw allow 23/tcp
или:
sudo ufw allow telnet
Проверка:
sudo ufw status
Если используется iptables
Пример добавления правила:
sudo iptables -A INPUT -p tcp --dport 23 -j ACCEPT
Сохранение правил зависит от дистрибутива:
sudo iptables-save
Проверка подключения
С другой машины:
telnet IP_адрес_сервера
Например:
telnet 192.168.1.50
Если клиент Telnet не установлен:
sudo apt install telnet
vили:
nc -vz 192.168.1.50 23
Важно: безопасность
Telnet передаёт данные, включая логин и пароль, в открытом виде.
Поэтому его не рекомендуется использовать:
- в интернете;
- в ненадёжных сетях;
- на публичных серверах;
- вместо SSH без необходимости.
Лучше использовать SSH.
Рекомендуемая альтернатива: SSH
Debian / Ubuntu
sudo apt update
sudo apt install openssh-server
sudo systemctl enable --now ssh
Проверка:
sudo systemctl status ssh
Открыть порт:
sudo ufw allow ssh
Подключение:
ssh user@server_ip
CentOS / RHEL / Rocky / Alma
sudo dnf install openssh-server
sudo systemctl enable --now sshd
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
Fedora
sudo dnf install openssh-server
sudo systemctl enable --now sshd
sudo firewall-cmd --permanent --add-service=ssh
sudo firewall-cmd --reload
Быстрая таблица диагностики ошибки
| Симптом | Вероятная причина | Решение |
|---|---|---|
E: Unable to locate package telnetd |
Не обновлён apt или другое имя пакета |
sudo apt update, затем apt-cache search telnet |
No package telnetd available |
В CentOS/RHEL пакет называется telnet-server |
sudo dnf install telnet-server |
| Пакет не найден в Ubuntu | Не подключён universe |
sudo add-apt-repository universe && sudo apt update |
| Пакет не найден в Arch | Другое имя пакета | sudo pacman -S inetutils |
| Пакет не найден в Alpine | Используется busybox | apk search telnet, apk add busybox-extras |
| Пакет был, но исчез | Старый дистрибутив или удалён из репо | Использовать архивные зеркала или SSH |
Минимальный чек-лист
1. Определить систему:
cat /etc/os-release
2. Обновить пакеты:
sudo apt update
или:
sudo dnf makecache
3. Найти правильный пакет:
apt-cache search telnet
или:
dnf search telnet
4. Установить правильное имя:
sudo apt install telnetd
или:
sudo dnf install telnet-server
5. Проверить сервис:
systemctl list-unit-files | grep -i telnet
- При возможности заменить на SSH.
Итог
Ошибка «Невозможно найти пакет telnetd» чаще всего решается так:
Для Ubuntu/Debian
sudo apt update
sudo apt install telnetd
Если не найдено:
sudo apt install inetutils-telnetd
Для CentOS/RHEL/Fedora/Rocky/Alma
sudo dnf install telnet-server
Для Arch/Manjaro
sudo pacman -S inetutils
Для Alpine
apk add busybox-extras
Если сервер нужен реально для администрирования, лучше сразу использовать SSH, а не Telnet.
Мы делимся этой технической информацией, чтобы помочь вам в решении задач — используйте её с пониманием. Статья носит рекомендательный характер, поэтому, пожалуйста, применяйте описанные методы осмотрительно.