Вопрос или проблема
Я пробовал локальную переадресацию портов и использовал следующую команду:
ssh -L 8080:www.ubuntuforums.org:80 <host>
Я хочу изменить адрес, на который переадресован 8080. Использование той же команды снова приводит к сообщению “адрес занят”, и действие отклоняется. Я пытался завершить процесс, использующий 8080:
lsof -ti:8080 | xargs kill -9
Я также пробовал перезапустить свой SSH-сервер и перезагрузить компьютер. После всего этого, если я перехожу на http://localhost:8080, я перенаправляюсь на ubuntuforums.org.
Как я могу это изменить?
Извините, если существует другой ответ. Я уже искал, и единственный другой похожий вопрос, который я нашел, также не имеет ответа.
Следующая команда завершает процесс, использующий указанный порт.
lsof -ti:8080 | xargs kill -9
Как было указано в комментариях, может быть полезно проверить, успешна ли эта команда, используя
lsof -i :8080
Имейте в виду, что старый переадресованный порт может быть все еще закеширован браузером, и вам может потребоваться очистить историю браузера, чтобы увидеть новый переадресованный порт.
Ответ или решение
Как остановить перенаправление порта при использовании SSH
Перенаправление портов в SSH является мощным инструментом, позволяющим безопасно передавать сетевые пакеты через шифрованное подключение. Однако, когда вам нужно изменить настройки перенаправления, могут возникнуть некоторые сложности, особенно если прежняя конфигурация всё ещё активно используется. В данной статье мы рассмотрим, как остановить перенаправление порта и изменить его настройки.
Шаг 1: Определите запущенный процесс
Когда вы используете команду ssh -L
, SSH создает локальный туннель, который обрабатывает входящие запросы на указанный порт, например, 8080
в вашем случае. Если вы снова пытаетесь использовать этот порт, возникнет сообщение об ошибке «адрес занят». Чтобы решить эту проблему, необходимо проверить, какие процессы используют данный порт.
Для определения процессов, использующих порт 8080
, выполните следующую команду:
lsof -i :8080
Эта команда покажет список процессов, которые занимают указанный порт.
Шаг 2: Завершите процесс перенаправления
Если процесс действительно существует и вам нужно его завершить, используйте следующую команду, чтобы принудительно остановить его:
lsof -ti:8080 | xargs kill -9
Эта команда сначала находит идентификаторы процесса (PID), использующие порт 8080
, а затем передает их в команду kill
, чтобы завершить их принудительно.
Шаг 3: Проверьте статус порта
После завершения процесса снова проверьте статус порта.
lsof -i :8080
Если в результате команда не выводит никакого результата, это значит, что порт 8080
больше не занят и готов к использованию.
Шаг 4: Изменение перенаправления
Теперь, когда вы успешно освободили порт 8080
, вы можете снова запустить перенаправление с другими параметрами. Для этого используется та же команда ssh -L
, но с изменением адреса назначения. Например:
ssh -L 8080:новый.адрес:порт <host>
Замените новый.адрес
и порт
на нужные вам значения.
Шаг 5: Очистка кеша браузера
Иногда, даже после успешного освобождения порта, браузер может кешировать старое перенаправление. Чтобы избежать проблем с доступом к новому адресу, рекомендуется очистить кеш браузера или использовать режим инкогнито.
Заключение
Изменение перенаправления порта в SSH требует некоторых манипуляций с процессами и внимательности к кешу браузера. Знание команд для проверки и завершения процессов является ключевым моментом в этом процессе.
Если у вас возникнут дополнительные проблемы или вопросы, не стесняйтесь обращаться за помощью на специализированные форумы или группы по интересам.