SSH к host#1 и затем ssh к host#2 от host#1 и затем команды выполнения и затем остаются на связи

Я пытаюсь к SSH разместить № 1, у кого есть доступ для хостинга № 2, и на хосте № 2, я хочу выполнить команду. Все от моей локальной машины.

Этот бит хорошо работает:

    ssh host1 -t "command; ssh user@host2"

Но на host2 я также хочу к CD к каталогу и затем остаюсь на связи

Я пытался использовать это:

    ssh host1 -t "command; ssh user@host2 -t 'command; cd /some/path/'"

Вывод, который я получаю:

    Connection to host2 closed.
    Connection to host1 closed.

И заканчивается на моей локальной машине

Ожидаемым результатом была моя сессия, находящаяся на host2 в/some/path/каталоге через host1

3
задан 12 February 2015 в 13:13

2 ответа

Вместо tmux или screen, как предложено @heemayl, можно также использовать bash:

ssh host1 -t "command; ssh user@host2 -t 'command; cd /some/path/; bash'"
6
ответ дан 1 December 2019 в 13:12

Установка screen или tmux в "host2", тогда выполняющем следующее, поддержит сессию:

ssh host1 -t "command; ssh user@host2 -t 'command; cd /some/path/; screen'"

В случае Вас команда т.е. ssh host1 -t "command; ssh user@host2 -t 'command; cd /some/path/'", сеанс будет закрыт после выполнения команд. Но если Вы будете использовать screen или tmux, то удаленный сеанс будет поддержан.

Проверка страницы справочника экран и tmux для деталей. tmux более новый подход для решения той же проблемы screen, решает.

3
ответ дан 1 December 2019 в 13:12

Другие вопросы по тегам:

Похожие вопросы: