Что касается ssh-туннеля, то можно обойтись и без промежуточного узла. Если клиент имеет белый ip, то туннель можно создавать с сервера и по нему работать. Но тут все зависит от задач ТС, можно чтобы сервер постоянно создавал туннель или подключать систему передающую команду на соединение.