Я пытаюсь запустить Perl-скрипт на другом сервере с веб-страницы, и у меня возникают проблемы с plink: похоже, он не запоминает ключ хоста при запуске от пользователя IUSR_.
Мне удалось уменьшить проблему следующим образом:
print "Content-Type:text/plain\n\n";
open(PLINK, "| \"C:\\Program Files\\PuTTY\\plink.exe\" -pw sanitized Administrator\@serveurftp.a.b.c whoami") or die "Can't fork: $!";
sleep(1);
print PLINK "y\n";
close(PLINK);
При вызове этого скрипта с веб-страницы я всегда получаю следующее:
The server's host key is not cached in the registry. You
have no guarantee that the server is the computer you
think it is.
The server's rsa2 key fingerprint is:
ssh-rsa 2048 cb:eb:dc:1b:9e:1c:6b:fa:63:fb:2e:ba:2c:61:26:c4
If you trust this host, enter "y" to add the key to
PuTTY's cache and carry on connecting.
If you want to carry on connecting just once, without
adding the key to the cache, enter "n".
If you do not trust this host, press Return to abandon the
connection.
Store key in cache? (y/n) serveurftp\administrator
Я должен получить это только в первый раз, а потом только «serveurftp \ administrator», но похоже, что plink не может сохранить ключ хоста, когда он запускается из IIS.
Ребята, у вас есть идеи, как это обойти?