Доступ по SSH за NAT через TOR: различия между версиями
Дым (обсуждение | вклад) |
Дым (обсуждение | вклад) |
||
Строка 36: | Строка 36: | ||
=Работа через прокси= | =Работа через прокси= | ||
Если узел не только за NAT, а ещё и за прокси, запуск TOR через proxychains не позволит достукиваться на него снаружи. Вместо этого следует добавить в его конфиг одну (или все) из опций, позволяющих выход в мир через данный вышестоящий прокси: | Если узел не только за NAT, а ещё и за прокси, запуск TOR через proxychains не позволит достукиваться на него снаружи. Вместо этого следует добавить в его конфиг одну (или все) из опций, позволяющих выход в мир через данный вышестоящий прокси: | ||
Socks4Proxy host[:port] | |||
HTTPSProxy | Socks5Proxy host[:port] | ||
HTTPProxy | HTTPSProxy host[:port] | ||
HTTPProxy host[:port] # На эту ругается: дескать, устарела и из новых версий её уберут. | |||
Если прокси с аутентификацией, понадобятся ещё и эти: | |||
HTTPSProxyAuthenticator username:password | |||
HTTPProxyAuthenticator username:password | |||
Socks5ProxyUsername username | |||
Socks5ProxyPassword password | |||
Однако не факт, что и с ними получится: всё зависит от настроек самого прокси. К примеру, из школ через ростелекомовский прокси этот трюк не срабатывает — плотно забаррикадировались. | Однако не факт, что и с ними получится: всё зависит от настроек самого прокси. К примеру, из школ через ростелекомовский прокси этот трюк не срабатывает — плотно забаррикадировались. | ||
Можно ещё покрутить опции <code>FascistFirewall</code> на пару с <code>ReachableAddresses</code> — но это уже для тех, кто привычен ко вдумчивому курению мануалов. | |||
{{Category navigation|title=Системному администратору|category=Admin|sortkey={{SUBPAGENAME}}}} | {{Category navigation|title=Системному администратору|category=Admin|sortkey={{SUBPAGENAME}}}} |
Версия от 05:03, 31 августа 2020
По материалу Михаила Новосёлова — спасибо, добрый человек!
На сервере
- В /etc/openssh/sshd_config изменить порт на непривилегированный, иначе TOR не запустится. Например:
Port 2222
- Cоздать каталог для скрытого сервиса SSH:
# install -m 700 -o _tor -g _tor -d /var/lib/tor/ssh
- В файле настроек TOR /etc/tor/torrc:
- закомментировать опцию
BridgeRelay
, - добавить опции:
DisableNetwork 0 Schedulers KISTLite NewCircuitPeriod 30 Sandbox 0 # '1' doesn't work sometimes (experimental feature) ClientOnly 1 # Disallow being a proxy for traffic HiddenServiceDir /var/lib/tor/ssh # Hidden service for SSH over NAT HiddenServicePort 2222 127.0.0.1:2222 # Map external virtual port 2222 to local port 2222
- закомментировать опцию
- Перезапустить оба сервиса:
# systemctl restart sshd tor
- Получить имя хоста в сети TOR:
# cat /var/lib/tor/ssh/hostname имя_в_56_буквоцифр_длиной.onion
На клиенте
- Запустить хотя бы минимально настроенный TOR.
- Добавить в ~/.ssh/config секцию:
Host *.onion ProxyCommand nc -x localhost:9050 -X 5 %h %p VerifyHostKeyDNS no Port 2222
- Пробовать подключиться:
$ ssh username@имя_в_56_буквоцифр_длиной.onion
Работа через прокси
Если узел не только за NAT, а ещё и за прокси, запуск TOR через proxychains не позволит достукиваться на него снаружи. Вместо этого следует добавить в его конфиг одну (или все) из опций, позволяющих выход в мир через данный вышестоящий прокси:
Socks4Proxy host[:port] Socks5Proxy host[:port] HTTPSProxy host[:port] HTTPProxy host[:port] # На эту ругается: дескать, устарела и из новых версий её уберут.
Если прокси с аутентификацией, понадобятся ещё и эти:
HTTPSProxyAuthenticator username:password HTTPProxyAuthenticator username:password Socks5ProxyUsername username Socks5ProxyPassword password
Однако не факт, что и с ними получится: всё зависит от настроек самого прокси. К примеру, из школ через ростелекомовский прокси этот трюк не срабатывает — плотно забаррикадировались.
Можно ещё покрутить опции FascistFirewall
на пару с ReachableAddresses
— но это уже для тех, кто привычен ко вдумчивому курению мануалов.