Вы пишете:«Я использую следующую команду, чтобы создать 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 не являются необходимыми.