PLINK Chepeant не работает с ASP.NET
Вопрос
Проблема в двух словах: бегающая пачка (с конкретными аргументами) работает из CMD, но не из ASP.NET
выполняется команда: "C: Program Files (x86) putty plink.exe" -batch abc@xyz ./fake_email.sh
Из CMD команда выполняется правильно, с FAKE_EMAIL.SH, возвращающим "0". От ASP.NET я получаю следующую ошибку: ключ хоста сервера не кэширован в реестре. У вас нет гарантии, что сервер - это компьютер, который, по вашему мнению, есть. Ключевой отпечаток пальца RSA2 сервера: SSH-RSA 2048 Подключено к последовательности.
Я думаю, что это как -то связано с пользователем (который использует .NET для запуска процесса) не может «видеть» ключ, который предоставляет конкурс. Я использую CMD в качестве администратора.
Я рад опубликовать больше информации.
Может кто-то указать мне верное направление?
Спасибо за вашу помощь.
Решение
решил это.
ASP.NET по умолчанию выполняет процессы как пользователь «NetworkService». Я не смог кэшировать ключ для этого пользователя, поэтому я решил создать нового пользователя, которого я назначаю в качестве идентификации пула приложений в IIS. Поскольку я создал этого пользователя, я могу кэшировать ключ в реестре (просто используя CMD).