трубопровод с использованием SSH без необходимости повторной регистрации для каждой трубы

У меня есть ssh-соединение, и я должен отправить несколько локальных файлов и вывести их на ssh-сервер.

Я знаю, что могу сделать это с помощью следующей команды

tar zcf - stuff | ssh user@server 'tar zxf -'

Я хотел бы установить ее последовательно, используя оператор && . У меня уже есть соединение, и я не хочу повторно регистрироваться для каждого канала, поскольку я буду использовать только один канал за раз.

Просто чтобы прояснить, я не просто перемещаю тарболы по сети, но также и ввод с устройств, собираемых время от времени по мере открытия конвейера. Просто чтобы люди не говорили: «Почему бы вам не использовать эту программу для перемещения вашего файла через Интернет» или «Вы также можете использовать USB-диск для передачи этих файлов»

1
задан 15 January 2014 в 16:39

1 ответ

Вы можете использовать постоянные соединения. В вашем файле ~/.ssh/config добавьте такие строки:

Host server.name.or.wildcard.goes.here
ControlPath /tmp/ssh.%r@%h:%p
ControlMaster auto
ControlPersist yes
ServerAliveInterval 300
ServerAliveCountMax 15

Это сообщит ssh, что нужно держать соединение открытым с файлом в /tmp, который основан на комбинации пользователь / хост / порт. После однократного подключения ssh повторно использует существующее соединение. Это в конечном итоге истечет время ожидания и отключится автоматически. Таким образом, вы получите запрос пароля только один раз для нескольких команд, запущенных в быстрой последовательности, в течение заданного промежутка времени. Если соединение слишком долго не используется, оно будет закрыто, и вам нужно будет снова ввести пароль.

Сохранение соединения открытым также устраняет начальную задержку создания защищенного соединения. Это отлично подходит для сценариев, где необходимо выполнить какое-либо действие, например скопировать файл, затем подождать, затем скопировать другой файл и т. Д. cdist использует эту технику для ускорения подготовки компьютера.

Вы также можете посмотреть, как создавать ssh-ключи, чтобы полностью избежать пароля.

0
ответ дан 15 January 2014 в 16:39

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

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