Чего ты пытаешься достичь?Если вы просто хотите получить оболочку на сервере, тогда ssh в поле Ubuntu и затем ssh оттуда на сервер.
Если вы хотите получить доступ к какому-либо другому сетевому ресурсу на сервере, вы хотите переслатьпорт от сервера (где вы не можете получить к нему) в окно Ubuntu (где вы можете).Посмотрите на опцию -L в ssh.
Редактировать:
Копирование файлов на сервер:
tar c path/* | ssh ubuntuName 'ssh serverName "tar x"'
Копирование данных обратно:
ssh ubuntuName 'ssh serverName "tar c path/*"' | tar x
Очевидно, вам нужно изменить ubuntuName
, serverName
и path/*
на то, что вы хотите.Чтобы использовать rsync, вам нужна опция -E
и тот же прием для помещения одной команды ssh внутрь другой.После прочтения вашего комментария я бы сказал, что наиболее общий ответ на ваш вопрос заключается в том, что хитрость заключается в том, чтобы ssh выполнял команду на целевой машине.Это можно сделать, указав команду в качестве аргумента после имени машины.Если вы используете ssh в качестве целевой команды для выполнения ssh, то вы получите двухшаговое поведение, которое вы ищете.Тогда нужно просто поиграть с кавычками, пока все не будет корректно экранировано.