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

Материал из ALT Linux Wiki
Строка 1: Строка 1:
=На сервере=
=На сервере=
==Правки в SSH==
# Изменить в <strong>/etc/openssh/sshd_config</strong> порт на непривилегированный, иначе TOR не запустится. Например:
Изменить в <strong>/etc/openssh/sshd_config</strong> порт на непривилегированный, иначе TOR не запустится. Например:
  Port 2222
  Port 2222
==Правки в TOR==
# Cоздать каталог для скрытого сервиса SSH:
Cоздать каталог для скрытого сервиса SSH:
  # install -m 700 -o _tor -g _tor -d <strong>/var/lib/tor/ssh</strong>
  # install -m 700 -o _tor -g _tor -d <strong>/var/lib/tor/ssh</strong>
В файле настроек:
# В файле настроек TOR:
# закомментировать опцию <code>BridgeRelay</code>,
* закомментировать опцию <code>BridgeRelay</code>,
# добавить в конец файла секцию:
* добавить в конец файла секцию:
#:<source lang="text">
*:<source lang="text">
  ClientOnly 1
  ClientOnly 1
  Sandbox 1
  Sandbox 1
Строка 19: Строка 17:
  HiddenServicePort 2222 127.0.0.1:2222
  HiddenServicePort 2222 127.0.0.1:2222
</source>
</source>
==Перезапуск==
# Перезапустить оба сервиса:
# systemctl restart sshd tor
#:<source lang="text"> # systemctl restart sshd tor</source>
==Имя хоста в сети TOR==
# Получить имя хоста в сети TOR:
# cat /var/lib/tor/ssh/hostname
#:<source lang="text"> # cat /var/lib/tor/ssh/hostname
  длиннющая_куча_букв_и_цифр.onion
  длиннющая_куча_букв_и_цифр.onion</source>
 
=На клиенте=
=На клиенте=
# Запустить хотя бы минимально настроенный TOR.
# Запустить хотя бы минимально настроенный TOR.

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

На сервере

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

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