Представьте себе сценарий, когда я захожу на сервер (который мы назовем «Уоллес») с моей локальной машины, а оттуда я ssh
на другой сервер (который мы назовем «Gromit»):
laptop ---ssh---> Wallace ---ssh---> Gromit
Затем висит ssh-сессия от Уоллеса до Громита, и я хочу его убить. Если я вхожу, ~.
чтобы убить ssh, он убивает сеанс ssh с моего ноутбука Уоллесу, потому что ~
он перехватывается этим ssh-сеансом, а команда .
принимается за команду, чтобы завершить сеанс. Как отправить команду на сессию ssh между Уоллесом и Громитом? Как мне убить мой "внутренний" ssh?
Ответы:
Добавьте еще тильду (т. Е. Тип
~~.
). Каждая последующая тильда съедается самым внешним ssh-сеансом, который еще не съел один, но если следующий символ является другим тильдой, он передается следующему сеансу.Если из gromit 1 вы ssh'ed к третьему хосту (назовем это wensleydale), то
~~~.
вы прекратите сеанс в wensleydale и вернете вас к приглашению gromit.1 И какой это отличный сервер; как часто я слышал замечание разработчика "взломать хост, громить"?
источник
laptop --> Wallace --> Gromit --> Shaun --> Timmy
или что-то в этом роде сумасшедшее ...Вы можете выполнить произвольные команды и перехватить вывод из самой внутренней оболочки в переменную
источник