Ответов (6)6
Если у вас есть возможность использовать WScript.Shell, вы можете просто запустить pscp.exe из пакета Putty . Очевидно, что это далеко не идеально, но он выполнит свою работу и позволит вам использовать SCP / SFTP в классическом ASP.
Проблема с этим методом заключается в том, что вы уже должны принять отпечаток пальца RSA. Если нет, то сценарий либо будет ждать ввода пользователя, чтобы принять его, либо пропустит его, если вы работаете в полном пакетном режиме, с ошибкой. Кроме того, если сервер изменится так, что изменится отпечаток RSA (например, кластер), вам необходимо снова принять отпечаток пальца.
Декабрь 2020 г .:
- ASP мертв, он был заменен ASP .Net 18 лет назад.
- В настоящее время наиболее распространенным способом использования SFTP в .Net является использование пакета SSH.NET NuGet .
Может, этот вопрос стоит закрыть?
Я сделал это так, чтобы создать файл командного сценария и передать его в командной строке с помощью команды / b в psftp.exe. Я также пробовал это в Perl, но еще не нашел более аккуратного способа сделать это.
Проблема с этим методом заключается в том, что вы уже должны принять отпечаток пальца RSA. Если нет, то сценарий либо будет ждать ввода пользователя, чтобы принять его, либо пропустит его, если вы работаете в полном пакетном режиме, с ошибкой. Кроме того, если сервер изменится так, что изменится отпечаток RSA (например, кластер), вам необходимо снова принять отпечаток пальца.
Не идеальный метод, но единственный, который я знаю.
Я буду следить за этим вопросом, если кто-нибудь знает другой способ.