Ну чтобы пользоваться sftp, нужно сначала подключиться через VPN клиент же(а как же через него на PHP подключится), иначе к sftp не подключишься.
Как можно программно подключится? Может есть примеры какие-то?
Vadik7777, сокетное соединение везде выглядит одинаково. Во всех языках и системах.
Но до того как это соединение создавать нужно знать IP адрес или имя в системе имен этой VPN.
Ну я себе вижу такой сценарий. Поставь OpenVPN клиент на сервер где работает PHP.
Разберись какие порты открыты в destination. Если это sftp то там допустим будет порт 22.
Далее попробуй просто физически находясь на сервере через консоль sftp подключиться
к destination. Вот. Ну если прокатит то вот сделай так тут советуют
Vadik7777, при поднятии ВПН, у тебя создаётся канал до удаленной сети. Далее обычное подключение. Главное чтобы фаерволл эти соединения пересылал в ВПН, а не по обычным каналам.
Настрой правильный маршрут