Доступ по SSH за NAT через TOR: различия между версиями

Материал из ALT Linux Wiki
Нет описания правки
Нет описания правки
Строка 1: Строка 1:
По [https://paste.ubuntu.com/p/Gf9cRhN3QC/ материалу] Михаила Новосёлова — спасибо, добрый человек!
=На сервере=
=На сервере=
По [https://paste.ubuntu.com/p/Gf9cRhN3QC/ материалу] Михаила Новосёлова — спасибо, добрый человек!
# В <strong>/etc/openssh/sshd_config</strong> изменить порт на непривилегированный, иначе TOR не запустится. Например:
# В <strong>/etc/openssh/sshd_config</strong> изменить порт на непривилегированный, иначе TOR не запустится. Например:
#:<source lang="text">Port 2222</source>
#:<source lang="text">Port 2222</source>

Версия от 04:14, 30 августа 2020

По материалу Михаила Новосёлова — спасибо, добрый человек!

На сервере

  1. В /etc/openssh/sshd_config изменить порт на непривилегированный, иначе TOR не запустится. Например:
    Port 2222
    
  2. Cоздать каталог для скрытого сервиса SSH:
    # install -m 700 -o _tor -g _tor -d /var/lib/tor/ssh
    
  3. В файле настроек TOR:
    • закомментировать опцию 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
      
  4. Перезапустить оба сервиса:
    # systemctl restart sshd tor
    
  5. Получить имя хоста в сети TOR:
    # cat /var/lib/tor/ssh/hostname
    длиннющая_строчка_из_букв_и_цифр.onion
    

На клиенте

  1. Запустить хотя бы минимально настроенный TOR.
  2. Добавить в ~/.ssh/config секцию:
    Host *.onion
        ProxyCommand nc -x localhost:9050 -X 5 %h %p
        VerifyHostKeyDNS no
        Port 2222
    
  3. Пробовать подключиться:
    $ ssh username@длиннющая_строчка_из_букв_и_цифр.onion
    

Примечания

Не факт, что всё получится, когда узел не только за NAT, но ещё и за прокси.

К примеру, если TOR запущен через proxychains:

  • изнутри — работает,
  • снаружи — недоступно.