Доступ по SSH за NAT через TOR

Материал из ALT Linux Wiki

На сервере

Правки в SSH

Изменить в /etc/openssh/sshd_config порт на непривилегированный, иначе TOR не запустится. Например:

Port 2222

Правки в TOR

Cоздать каталог для скрытого сервиса SSH:

# install -m 700 -o _tor -g _tor -d /var/lib/tor/ssh

В файле настроек:

  1. закомментировать опцию BridgeRelay,
  2. добавить в конец файла секцию:
     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
    

Перезапуск

# systemctl restart sshd tor

Имя хоста в сети 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



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