Я понимаю, что есть много информации о переадресации портов, но вот моя конкретная ситуация.
Мне нужно использовать Remote in (через VNC) для моего Mac. По умолчанию сервер Mac Remote Sharing прослушивает порт 5900. Это было бы хорошо, если бы моя компания не блокировала входящие соединения через порт 5900!
Тем не менее, он разрешает порт 3389. Поэтому я пытаюсь настроить его так, чтобы я мог прослушивать соединения через порт 3389 и пересылать их на 5900.
Вот что я попробовал:
ssh 127.0.0.1 -L3389:127.0.0.1:5900
Это не совсем то, что я хочу, потому что тогда будут приниматься только подключения от 127.0.0.1 через порт 3389.
netstat -an | egrep 'Proto|LISTEN'
Proto Recv-Q Send-Q Local Address Foreign Address (state)
tcp6 0 0 *.5900 *.* LISTEN
tcp4 0 0 *.5900 *.* LISTEN
tcp4 0 0 127.0.0.1.3389 *.* LISTEN
Мне нужно слушать из мира, *
на порт 3389
. Как я могу сделать это?
macos
networking
ssh
port-forwarding
port
Shamoon
источник
источник
Ответы:
Ваш вопрос немного конкретен, трудно дать прямые ответы, не зная некоторых вещей:
Можете ли вы подключиться к порту VNC по умолчанию извне - скажем, из дома друга, где ваша работа не блокирует вас? Если это так, вы можете изменить порт, который VNC прослушивает, на 3389 и проверить его. Как изменить используемый по умолчанию номер экрана общего доступа / порта VNC в Mac OS X?
Упомянутая вами команда ssh должна запускаться с СОЕДИНИТЕЛЬНОЙ машины, а не с «сервера». Таким образом, вы бы запустить:
и затем подключите VNC к localhost: 9999 на вашем клиентском компьютере. Я использую 9999 в качестве примера, поскольку он, вероятно, не используется, и 5900 может быть, если ваш клиент Mac, и 3389, если ваш клиент Windows.
Чтобы быть понятным: вам нужно будет иметь возможность подключиться по ssh к вашему Mac с работы, число после -L - это порт, к которому вы подключаетесь на подключенном компьютере (localhost), 127.0.0.1:5900 - это то, где VNC уже прослушивает ваш (удаленный) Mac.
источник
Вместо переадресации портов вы можете изменить порт, который
launchd
прослушивает соединения VNC. (launchd
прослушивает от имениscreensharingd
и запускаетсяscreensharingd
при попытке подключения).screensharingd
является сервером VNC по умолчанию в OS X. Если вы используете Apple Remote Desktop (иначе ARD, «Удаленное управление») вместо этого, эти инструкции, вероятно, должны быть несколько изменены.редактировать
/System/Library/LaunchDaemons/com.apple.screensharing.plist
Найдите эту пару ключ / значение:
И изменить это на это:
Тогда вам, вероятно, потребуется перезагрузить компьютер или использовать
launchctl
егоlaunchd
для перезагрузки этого списка.Затем в вашем VNC-клиенте укажите порт 3389. Например, встроенный клиент VNC OS X использует URL-адреса, так что вы можете передать его
vnc://username:password@host.example.com:3389/
. Или оставьтеusername:password
так, чтобы вас попросили.Предостережение лектор: я сам не пробовал, так что попробуйте на свой страх и риск. Подумайте о создании резервной копии этого plist-файла перед его редактированием, чтобы было легко вернуть его на прежнее место.
источник
Вы можете попробовать
-D
опцию с ssh, которая является динамической переадресацией портов. Так что это может выглядеть так:ssh -D 3389 yourAccount@yourDomain.com
Я сделал это вчера и вспоминаю это по памяти, но это основа этого. Как только эта команда сработает, вы просто вводите свой пароль и настраиваете свое приложение для прослушивания на указанном порту - 3389 в вашем случае с 127.0.0.1 в качестве IP-адреса.
Я думаю, что это создает своего рода SOCKS прокси с использованием ssh.
: D
источник
Я думаю, вы ищете что-то вроде этого , эквивалент Mac для iptables.
У меня нет Mac, поэтому я не могу проверить это сам, но я бы предложил попробовать
Обратите внимание, что, похоже, существуют различные синтаксисы, которые
ipfw
могут обрабатываться (127.0.0.1,3389
и,127.0.0.1 3389
похоже, они также будут работать из того, что я могу найти). Я бы связал вас со страницей FreeBSD, но, как новый пользователь, у меня пока недостаточно репов: whistle :.В качестве альтернативы, поскольку
ipfw
это устарело, вы можете попробовать,pfctl
как описано здесь .источник