-1

Я использую следующую команду для создания ssh-туннеля к моему серверу Ubuntu:

ssh -fNg -L 8888:127.0.0.1:22 -p 1000 username@server-address  -v

Затем я установил для OSX http и https прокси значение 127.0.0.1:8888.

И я получил следующую ошибку:

SSH-2.0-OpenSSH_6.6.1p1 Ubuntu-2ubuntu2

Несоответствие протокола.

В чем проблема и как я могу ее решить?

2 ответа2

1

-L 8888:localhost:22 перенаправит ваш локальный порт 8888 на порт 22 сервера ssh. Пока не работает сервер squid или другой прокси, он не будет работать.

SSH может предоставить прокси-сервер socks, который вы можете использовать для просмотра своего ssh-туннеля.

ssh -fNg -D 8888 -p 1000 username@server-address  -v

Просто установите свой прокси после подключения:

localhost:8888
1

Вы пишете:«Я использую следующую команду, чтобы создать ssh-туннель для моего сервера Ubuntu:

ssh -fNg -L 8888:127.0.0.1:22 -p 1000 имя пользователя @ адрес сервера -v

ОК, так что вам нужно иметь SSH-сервер на порту 1000

Итак, клиентская программа будет подключаться к порту 8888, и все, что она отправит туда, будет перенаправлено на порт 22(22 - это порт, обычно используемый для ssh).

Я думаю, если бы вы пытались туннелировать ssh в ssh, это могло бы иметь смысл, хотя я не могу изо всех сил подумать о необходимости этого!

Затем я установил для OSX http и https proxy значение 127.0.0.1:8888 "

Нет, у вас уже есть SSH, открывающий порт, прослушивающий порт 8888. Вы не можете слушать что-то еще на этом порту.

Если вы поместите прокси-сервер http [s] на порт 22 конечного компьютера (адрес сервера) и настроите свой веб-браузер на использование прокси 127.0.0.1:8888, тогда ваш веб-браузер сможет подключиться к порту 8888, и он будет перенаправлен на http-прокси на порту 22 конечного компьютера. Когда вы сделали -L 8888:127.0.0.1:22 это означает, что вам нужно что-то прослушивать через порт 22 машины назначения. И вы можете захотеть изменить 22 на что-то более разумное, например, 8080. Я не проверял, но думаю, что это сработает.

В качестве альтернативы, SSH также имеет опцию -D, которая действует как прокси-сервер SOCKS, который может выполнять HTTP [s], но при этом говорит веб-браузеру подключаться к прокси-серверу SOCKS, а не к обычному HTTPS. Поэтому я полагаю, что, как и в следующей строке, Дэвид сказал ssh -fNg -D 8888 -p 1000 username@server-address -v Конечно, -fNg и -v не являются необходимыми.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .