Доступ по SSH за NAT через TOR
На сервере
- Изменить в /etc/openssh/sshd_config порт на непривилегированный, иначе TOR не запустится. Например:
Port 2222
- Cоздать каталог для скрытого сервиса SSH:
# install -m 700 -o _tor -g _tor -d <strong>/var/lib/tor/ssh</strong>
- В файле настроек 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
- закомментировать опцию
- Перезапустить оба сервиса:
# systemctl restart sshd tor
- Получить имя хоста в сети TOR:
# cat /var/lib/tor/ssh/hostname длиннющая_куча_букв_и_цифр.onion
На клиенте
- Запустить хотя бы минимально настроенный TOR.
- Добавить в ~/.ssh/config секцию:
Host *.onion ProxyCommand nc -x localhost:9050 -X 5 %h %p VerifyHostKeyDNS no Port 2222
- Пробовать подключиться:
$ ssh username@длиннющая_куча_букв_и_цифр.onion
Спасибо Михаилу Новосёлову за материал.