Как сделать scp через два промежуточных сервера на третий сервер [duplicate]

Значение для ServerAliveInterval означает, что «если в течение этого времени от сервера не было получено никаких данных, отправьте на сервер сообщение NULL».

Аналогично, ClientAliveInterval означает, что «если в течение этого времени от клиента не было получено никаких данных, отправьте клиенту сообщение NULL».

Обычно значения по умолчанию 0 , что означает, что эти функции отключены.

В основном это используется для предотвращения того, чтобы промежуточные маршрутизаторы и брандмауэры считали сеанс бездействующим и прерывали его. Это не оказывает реального влияния на сам ssh-сервер.

Например, многие домашние маршрутизаторы NAT прекращают сеансы бездействия по прошествии определенного периода времени (точное время зависит от вашего маршрутизатора; я видел значения от 1 часа до более 21 дня). Устанавливая ServerAliveInterval , вы имитируете этот тайм-аут простоя в маршрутизаторе, гарантируя, что всегда есть некоторый трафик в пределах интервала маршрутизатора.

2
13.04.2017, 15:36
1 ответ

Новый openssh 7. 3 предоставляет переключатель -J, который позволяет вам создать желаемую однострочную строку:

scp -oProxyJump=userB@hostB,userC@hostC infile.txt userD@hostD:"~/outfile.txt"

Со страницы руководства:

ProxyJump

Указание одного или нескольких прокси-переходов как [user@]host[:port]. Несколько прокси могут быть разделены символами запятой и будут посещаться последовательно. Установка этой опции заставит ssh(1) подключиться к целевому хосту, сначала установив ssh(1) соединение с указанным хостом ProxyJump, а затем установив оттуда TCP-переадресацию к конечной цели.

11
27.01.2020, 21:54

Теги

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