
Возникла задача. Надо у заказчика обновить основную программу. А заказчик далеко. Да и квалификация небольшая.
Для обновления файлов сделал небольшой скрипт, который распаковывает прикреплённый к нему tgz-архив и копирует файлы в заданные каталоги, переименовывая существующие. Но возникла проблема: как передать файл.
Самое простое -- отправить по почте. Но, как сказал начальник, они его примут на ноутбук с Windows. А как переписать на Linux?
Сложность в том, что, опять же со слов начальника, там высокие требования к безопасности. Какие именно -- я не знаю.
Поэтому на компьютере (RHEL отключена возможность переписать файл через USB-флешку. Про FTP начальник сказал: "Никакого FTP, только SFTP".
Поэтому возникла мысль отправить архив.zip с тремя файлами: prog_upd.sh (для обновления), send.bat и pscp.exe.
Файл send.bat с одной строкой: pscp.exe prog_upd.sh user@host:/home/user
Но pscp.exe ставится вместе с пакетом PuTTY. И он что-то добавляет для обмена ключами. А если там PuTTY не стоит?
Стал проверять. Нашли ноутбук с виндой, на которой не стоит PuTTY (почти на всех компьютерах в отделе PuTTY стоит).
Когда я попробовал с помощью pscp передать файл, в ответ выскочило какое-то сообщение, что требуется обмен ключами. То же самое выскочило, когда я попробовал подключится с помощью putty.exe (без установки).
Параллельно со мной другой сотрудник установить на ноутбук PuTTY и проблема передачи файла (у нас) пропала. Но что будет у заказчика?
Я нашёл в интернете архив PuTTY_PORTABLE с программами этого пакета. Может быть его не надо устанавливать и для pscp.exe будет достаточно первый раз подтвердить доверие удалённом хосту?
Или, может быть, есть ещё какие-то простые способы переписать принятый на ноутбук с Windows файл на компьютер с Linux?