Способ, которым я это сделал, - создать файл сценария команды и передать его в командной строке с помощью команды/b на psftp.exe. Я также пробовал это в Perl и еще не нашел более аккуратного способа сделать это.
Существует проблема с этим методом, поскольку вы уже должны принять отпечаток пальца RSA. В противном случае сценарий будет либо ждать ввода пользователем, чтобы принять его, либо пропустить его, если вы работаете в полном пакетном режиме, с отказом. Кроме того, если сервер изменится так, что изменится отпечаток пальца RSA (например, кластер), вам нужно снова принять распечатку пальца.
Не идеальный метод, но единственный, который я знаю.
Я буду смотреть этот вопрос, если кто-то знает другой способ.
scp отличается от sftp - но оба довольно безопасны. Замазка включает psftp.exe. – 2008-09-24 11:13:32