Таким образом, вы уже можете без проблем использовать SSH для server1
, и вы знакомы с отправкой команды для запуска на этом сервере.
Это всего лишь вопрос рекурсии по уровням сервера, как русскийкуклы.Предположим, что команда, которую вы хотите запустить на server2
, равна ls
(хотя действительная команда не влияет на этот пример).Затем, если вы уже вошли на сервер1, вы бы запустили эту команду как
$ ssh server2 ls
верно?
И тут у нас есть обе части решения, потому что вы уже знаете, каквыполнить команду при входе на хост.SSH на сервер 1 и запустите эту команду, и ваш многоуровневый логин работает.
Чтобы расширить его до трех (или более) хостов, идея та же.Если вы уже вошли на сервер2 и хотели выполнить команду, вы бы запустили
$ ssh server3 ls
Так что, если вы находитесь на сервере 1, вы бы запустили
$ ssh server2 ssh server3 ls
отсюдаВаша общая команда -
$ ssh server1 ssh server2 ssh server3 ls
, и на данный момент я думаю, что ясно, как это можно распространить на произвольные уровни ...: -)