Назад | Перейти на главную страницу

Какая команда используется для установки ssh-туннеля в Windows?

Я хочу установить ssh-туннель между сервером Windows и клиентом без переадресации портов.

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

ssh user@serverip -L 5900:localhost:5900

Когда я использую эту команду, мой сеанс vnc не проходит через туннель. Следовательно, я хочу избежать использования переадресации портов.

Я ссылался на это руководство, и в соответствии с ним мой vnc должен проходить через туннель.https://websistent.com/how-to-use-putty-to-create-a-ssh-tunnel/

Но я хочу сделать то же самое без переадресации портов.

С помощью приведенной выше команды я сталкиваюсь с интерфейсом обратной связи.

Спасибо!!

Чувствую замешательство и возможное недопонимание.

Когда вы устанавливаете SSH-туннель с:

ssh user@server -L 5900:localhost:5900

... происходит следующее:

  • Конечно, SSH-соединение устанавливается и аутентифицируется.
  • клиент SSH настроит туннель переадресации TCP-порта, который прослушивает входящие соединения в вашей локальной клиентской системе (-L)
  • сторона прослушивания туннеля будет на порту 5900 в вашей системе (= первый 5900)
  • зашифрованный туннель будет идти от вашей локальной клиентской системы к server система
  • выходной конец туннеля на server система снова будет передавать трафик в исходной незашифрованной форме, чтобы localhost:5900 как server система видит это. Это не localhost вашей локальной системы, но localhost из server система.

Вот почему ваше предложение «Но у меня есть только сервер и клиент, поэтому не могу использовать пересылку» не имеет смысла. Вы всегда можете перенаправить данные с локального хоста вашей локальной системы на локальный хост удаленной системы (или наоборот, используя -R вместо того -L).

Перенаправление портов - это причина, по которой SSH можно использовать для защиты других программ, которые не имеют встроенной поддержки SSH или какого-либо специального интерфейса для него.

Чтобы успешно использовать туннель, вы должны понимать, что теперь вы можете добраться до serverпорт 5900, подключившись к локальному порту 5900 вашей клиентской системы. Другими словами, вы должны указать клиенту VNC подключиться к localhost:5900 подключиться к server с использованием зашифрованного туннеля. Если вы скажете клиенту VNC подключиться к server:5900 вместо этого вы говорите ему обойти настроенный для него туннель и просто подключиться напрямую без преимущества шифрования SSH.

Вы также сказали, что не хотите использовать переадресацию портов. Что ж, тогда каким бы ни был ваш VNC (или любой другой) клиент, у него должен быть более продуманный способ использования туннеля, предоставляемого SSH. Насколько мне известно, есть две возможности:

  • поддержка прокси SOCKS4 / SOCKS5: вы устанавливаете SSH-соединение с

    ssh пользователь @ сервер -D 1234

Теперь клиент SSH настроит прокси-сервер SOCKS на порт 1234 вашей локальной системы. Весь трафик, входящий в этот прокси-сервер, сначала будет проходить через зашифрованный туннель SSH на server системы и оттуда (снова в незашифрованном виде) в любое место назначения, запрошенное клиентом VNC (или другим). Конечно, клиент VNC (или другой) должен быть настраиваемым для поддержки SOCKS4 или SOCKS5, и вы должны настроить его для использования прокси-сервера SOCKS в localhost:1234 использовать туннель SSH.

  • Другой альтернативой является полная интеграция с клиентом SSH. Чтобы использовать туннели SSH без какого-либо прокси или перенаправления портов, клиент VNC (или другой) должен включать функциональность SSH, чтобы он мог использовать туннели SSH непосредственно из собственного программного кода и эффективно использовать удаленный sshd сервер как расширитель самого себя, чтобы устанавливать сетевые соединения оттуда куда угодно.