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

Материал из ALT Linux Wiki
Строка 5: Строка 5:
#:<source lang="text"># install -m 700 -o _tor -g _tor -d <strong>/var/lib/tor/ssh</strong></source>
#:<source lang="text"># install -m 700 -o _tor -g _tor -d <strong>/var/lib/tor/ssh</strong></source>
# В файле настроек TOR:
# В файле настроек TOR:
* закомментировать опцию <code>BridgeRelay</code>,
#:* закомментировать опцию <code>BridgeRelay</code>,
* добавить в конец файла секцию:
#:* добавить в конец файла секцию:
*:<source lang="text">
#:*:<source lang="text">
  ClientOnly 1
  ClientOnly 1
  Sandbox 1
  Sandbox 1

Версия от 03:57, 28 августа 2020

На сервере

  1. Изменить в /etc/openssh/sshd_config порт на непривилегированный, иначе TOR не запустится. Например:
    Port 2222
    
  2. Cоздать каталог для скрытого сервиса SSH:
    # install -m 700 -o _tor -g _tor -d <strong>/var/lib/tor/ssh</strong>
    
  3. В файле настроек TOR:
    • закомментировать опцию BridgeRelay,
    • добавить в конец файла секцию:
       ClientOnly 1
       Sandbox 1
       DisableNetwork 0
       Schedulers KISTLite
       NewCircuitPeriod 30
       HiddenServiceDir /var/lib/tor/ssh
       # Map external virtual port 2222 to local port 2222
       HiddenServicePort 2222 127.0.0.1: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
    

Спасибо Михаилу Новосёлову за материал.