Вопрос или проблема
Я пытаюсь выполнить rsh
на одной из моих виртуальных машин, но получаю ошибку “connection refused”. Я проверил /etc/hosts
и /etc/resolv.conf
, оба файла содержат правильное имя хоста, IP и домен.
Отказ в соединении означает, что ОС говорит: “У меня нет программы для вашего соединения”, что означает, что никакая программа не слушает ваши команды rsh.
Если я не ошибаюсь, rsh подключается к порту 514 по умолчанию. Поэтому, если вам действительно нужно использовать rsh, вам нужно проверить наличие rshd на целевой системе.
Пожалуйста, рассмотрите возможность использования другой службы…
Ответ или решение
На виртуальной машине под управлением RHEL (Red Hat Enterprise Linux) возникает ошибка "Connection Refused" при попытке выполнить команду rsh
. Эта ошибка свидетельствует о том, что на целевой системе нет активного прослушивателя для команд rsh. Давайте разберем возможные причины этой проблемы и предложим решения.
Возможные причины и их устранение
-
Отсутствие активно активного
rshd
(демона rsh)- На целевой системе должен быть запущен демон
rshd
, который отвечает за обработку входящих командrsh
. Убедитесь, что он установлен и запущен. Проверьте, установлен ли пакетrsh-server
на удаленной машине, с помощью команды:rpm -q rsh-server
Если пакет не установлен, используйте команду:
sudo yum install rsh-server
- После установки запустите
rshd
и убедитесь, что он будет запускаться автоматически при загрузке:sudo systemctl start rsh sudo systemctl enable rsh
- На целевой системе должен быть запущен демон
-
Проблемы с портами
- Проверьте, открыт ли порт 514 на удаленной системе, так как именно на этот порт по умолчанию происходит подключение через
rsh
. Используйте командуnetstat
илиss
, чтобы проверить, слушает ли порт 514:sudo netstat -tuln | grep :514
- Убедитесь, что брандмауэр не блокирует этот порт:
sudo firewall-cmd --permanent --add-port=514/tcp sudo firewall-cmd --reload
- Проверьте, открыт ли порт 514 на удаленной системе, так как именно на этот порт по умолчанию происходит подключение через
-
Конфигурация сетевых политик безопасности
- Если вы используете SELinux, проверьте, разрешает ли конфигурация выполнения
rsh
. Вы можете временно отключить SELinux для проверки, изменив/etc/selinux/config
:SELINUX=permissive
- Перезагрузите систему или перезапустите SELinux:
sudo setenforce 0
- Не забудьте после тестирования вернуть конфигурацию SELinux в исходное состояние и перезагрузить систему.
- Если вы используете SELinux, проверьте, разрешает ли конфигурация выполнения
-
Правильность конфигурации
/etc/hosts
и/etc/resolv.conf
- У вас уже есть проверка, что данные файлы настроены корректно. Тем не менее, убедитесь, что используемое вами имя хоста корректно преобразуется в IP-адрес и соответствует конфигурациям сети.
Альтернативы rsh
rsh считается устаревшим и небезопасным протоколом. Рассмотрите возможность использования более современных и безопасных решений, таких как SSH (Secure Shell), который предлагает шифрование данных и более надежные методы аутентификации. Для использования ssh
убедитесь, что на целевой машине установлен и запущен sshd
(демон SSH).
Заключение
Следуя вышеописанным шагам по диагностике и устранению неполадок, вы сможете решить проблему "Connection Refused" при использовании rsh
на RHEL. Тем не менее, настоятельно рекомендуется перейти на более безопасные протоколы, такие как SSH, для повышения уровня безопасности вашей сети.