Рейтинг:0

Переадресация SSH работает на локальном компьютере, но не работает на удаленном

флаг au

Я сделал локальную переадресацию порта SSH на удаленной машине:

ssh -N -L 127.0.0.1:3388:127.0.0.1:22 локальный хост

он работает на самой удаленной машине:

телнет локальный хост 3388

возвращается

Пытаюсь 127.0.0.1...
Подключен к 127.0.0.1.
Экранирующий символ '^]'.
SSH-2.0-OpenSSH_7.4

Однако, когда я использую эту переадресацию с локальной машины:

телнет удаленный.ip 3388

это не удается:

Попытка удаленного.ip...
telnet: невозможно подключиться к удаленному хосту: соединение отклонено

Можно подумать, что порт 3388 удаленной машины заблокирован брандмауэром или чем-то еще из сети, поэтому я отключил переадресацию SSH и протестировал http-сервер, прослушивающий порт 3388 на удаленной машине:

python3 -m http.сервер 3388

затем я подключаюсь к этому порту с моей локальной машины:

телнет удаленный.ip 3388

Результат дает

Попытка удаленного.ip...
Подключен к удаленному.ip.
Экранирующий символ '^]'.
уволиться
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
        "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <голова>
        <meta http-equiv="Content-Type" content="text/html;charset=utf-8">
        <title>Ответ об ошибке</title>
    </голова>
    <тело>
        <h1>Ответ об ошибке</h1>
        <p>Код ошибки: 400</p>
        <p>Сообщение: неверный синтаксис запроса ("выход").</p>
        <p>Объяснение кода ошибки: HTTPStatus.BAD_REQUEST — неверный синтаксис запроса или неподдерживаемый метод.</p>
    </тело>
</html>
Соединение прервано внешним хостом.

что означает, что порт 3388 на удаленной машине доступен для моей локальной машины. Так почему же и переадресация SSH, и сеть работают правильно по отдельности, но терпят неудачу, когда они объединены? Кто-нибудь знает, как это исправить? Спасибо.

Michael Hampton avatar
флаг cz
Кажется, все работает правильно. Чего вы ожидали?
Рейтинг:0
флаг bd

Вы настроили локальную переадресацию SSH так, чтобы она прослушивала только локальный порт 3388. Локальный хост недоступен с других устройств в сети, поэтому вы не смогли удаленно установить соединение.

Чтобы открыть порт переадресации для других компьютеров в сети, вам необходимо привязать его к доступному адресу, например 192.168.1.5 или 0.0.0.0 (все интерфейсы).

например ssh -N -L 0.0.0.0:3388:127.0.0.1:22 локальный хост

ke xu avatar
флаг au
Спасибо, что решили мою проблему, но я до сих пор не понимаю, почему это работает на некоторых других машинах, если я не добавил 0.0.0.0

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.