Если вдруг кому интересно, вот как я в конце концов сделал: На "недоступном" сервере (без "белого IP") сгенерировал при помощи ssh-keygen пару ключей, без пароля. Публичный установил на "доступном" сервере (с "белым IP" и настроенным DDNS) и проверил, что ssh с "недоступного" сервера подключается к "доступному" "молча", без запроса имени и пароля.
Установил на "недоступном" сервере пакет autossh (есть в Дибейновском репозитории).
На скорую руку организовал автозапуск через systemd: создал /etc/systemd/system/autossh.service следующего содержания:
[Unit]
Description=AutoSSH reverse tunnel service
After=network.target
[Service]
Environment="AUTOSSH_GATETIME=0"
ExecStart=/usr/bin/autossh -M 0 -o "ExitOnForwardFailure=yes" -o "ServerAliveInterval 30" -o "ServerAliveCountMax 3" -o "ExitOnForwardFailure=yes" -NR 9022:localhost:22 -R 9092:localhost:9091 user@visible_server_url -p XXXX -i /home/user/.ssh/id_rsa
[Install]
WantedBy=multi-user.target
Где:
visible_server_url - URL "доступного" сервера
XXXX - порт, через который я подключаюсь по SSH к "доступному" серверу через интернет.
В результате имею "обратный туннель" с "недоступного" сервера на "доступный", с пробросом 2х портов: 22->9022 для SSH и 9091->9092 для управления transmission.