Задача сводится к тому, чтобы на сервере можно было бы открыть ssh-соединение до компьютера, находящегося за nat где-то в офисе. И это можно сделать! Для этого в ssh есть Port Forwarding.
Делаем так:
ssh -R 12345:127.0.0.1:22 user@example
При этом не только открывается сессия с example, но и на удалённом сервере на localhost (127.0.0.1) sshd начинает слушать порт 12345. Все коннекты на этот порт по ssh-соединению (то есть зашифрованно прокидываются на исходную машину на 127.0.0.1:22. Что и требовалось.
Например, можно на удалённой машине зайти на свою:
ssh -p 12345 me@localhost
Можно скопировать файл:
scp -P 12345 /dev/zero me@localhost
Можно даже sftp:
sftp -o Port=12345 me@localhost
Возможен проброс порта и в обратную сторону, с локальной машины на удалённую, с помощью ключа -L. Например, пусть есть сервер в офисе с внешним IP, с которого доступен внутренний адрес 192.168.1.2 с Windows и включённым RDP. Нам надо на него попасть, не заморачиваясь с поднятием VPN.
Делаем так:
ssh -L 31415:192.168.1.2:3389 user@example
Затем в RDP-клиенте вместо 192.168.1.2 вводим 127.0.0.1:31415
PS: Нужно отметить, что в настройках sshd PortForwarding может быть запрещён. Но чаще всего в конфигурации по умолчанию он включен.