Как скопировать файл с удаленного хоста SSH на Jenkins Server

Мы используем сервер Jenkins для нашего ежедневного процесса сборки и выполняем несколько сценариев bash на удаленных хостах через SSH. Эти скрипты генерируют файлы журнала html на удаленных хостах.

Мы используем Скопировать в подчиненный плагин для копирования файлов на подчиненных машинах и Опубликовать над ssh плагин для управления сессиями SSH в процессе сборки.

Теперь возникает вопрос: мы хотим скопировать некоторые файлы (файлы журналов Scripts) с удаленного узла ssh на Jenkins Server. Который будет возможен и лучший вариант для того же (плагин будет лучше, если таковой имеется).

EDIT:

sshpass - это вариант, но ищет любой плагин или лучший способ выполнить эту работу.

Ответ 1

используйте sshpass команду для отправки файла в

Среда сборки → Выполнить оболочку script на удаленном хосте с помощью ssh → Post build script

команда образца:

sshpass -p "password" scp path/of/file <new_server_ip>:/path/of/file

Это пропустит приглашение пароля для команды scp и предоставит пароль для scp.

Ответ 2

Я думаю, вы можете сгенерировать ssh keypair и передать его подчиненному устройству в качестве параметра, например, Плагин провайдера файлов

Затем просто используйте scp для извлечения файлов с помощью этой ключевой пары для процесса аутентификации.