Я не нашел ничего лучше, чем rdp2tcp для использования с сервером Windows, который не разрешал доступ администратора или маршрутизацию сети интерфейс-интерфейс. Вам нужно будет сделать ООП патч на вашем rdesktop, чтобы заставить это работать (перейдите на последние страницы, чтобы найти ту, которая соответствует последней версии rdesktop). Я использовал компилятор MinGW для компиляции Windows конца туннеля.
документация также превосходна и сжата.
Что может показаться незначительным: если вы используете имя "addin" С " - " в нем, rdesktop не удается правильно проанализировать командную строку. Это может быть bashism, что требует правильного выхода, но я не уверен.
обратите внимание, что, насколько я могу понять, это не "истинный" TCP-туннель, который "видит" блоки данных протокола TCP, поскольку это было бы невозможно без прав администратора на стороне Windows. Это больше похоже на прокси socks с оконечной точкой, которая предварительно настроена (не очень косвенные, хотя). Он также имеет фактический прокси-сервер socks, если вам это нравится.
Я легко управлял интерактивным сеансом SSH с ним, но он не задерживал передачу файлов SSH (дал "виртуальный канал отключен" в консоли rdesktop (rdp2tcp работает как его дочерний процесс с stdout/stdin dup2'Ed/piped rdesktop, но без изменения stderr)). Был постоянный источник назвал RDP2TCP_PING_TIMEOUT, который выглядел, как тайм-аут, образуемых для проведения в тоннеле. Предполагая, что какое-то регулирование в промежуточной сети, увеличение этого с 5 до 900, казалось, сделало трюк, и он задержался для передачи до 100 МБ (потребовалось около 15 минут в этой конкретной сети).
помимо этого, однако, было обнаружено, что rdp2tcp получает SIGPIPE, который, как он утверждал, получил из-за разрыва в трубе rdesktop, хотя я не мог найти никаких доказательств того, что это происходит либо из кода rdesktop, либо из вывода "lsof", который показал количество каналов для rdesktop до и после триггера SIGPIPE не изменяется.
Если это произойдет, необходимо перезапустить rdesktop и, возможно, Windows-сторону туннеля. Вы можете использовать rsync и возобновить передачу файлов, и, возможно, вы можете автоматизировать весь процесс восстановления.
все это предполагало Linux в качестве вашего клиента. Я не пробовал исправленный rdesktop на Windows из-за какой-то несвязанной проблемы, которую я имел с Cygwin / X. Я думаю, что это должно работа.
кроме того, мой опыт был с SSH, но огромные передачи файлов любыми другими средствами, вероятно, ударят по тем же проблемам.