Как запустить PUTTY и пропустить диалог?
У меня есть веб-приложение, которое содержит команду для запуска EXE
Process.Start("MyApp.exe")
Это приложение будет работать putty.exe
и воля SendKeys
эмулировать нажатия клавиш в приложении.
Приложение работает нормально, если я запускаю под своим именем пользователя, или даже если я использую runas /user:anyother_user
,
Проблема в том, когда MyApp.exe
начинается putty.exe
(что должно произойти, когда кто-то открывает определенную веб-страницу), я вижу, что приложение запущено, и процесс создается для обоих MyApp.EXE
а также putty.exe
, Тем не менее, кажется, ничего не видно для меня или любого пользователя. Главным образом потому, что приложение запускается под NT AUTHORITY\NETWORK SERVICE
, Я могу сказать, что ни одно из нажатий клавиш, которые MyApp
отправляет, доходят до замазки.
Я подозреваю, что это связано с putty
запуск диалогового окна в первый раз, когда оно запускается от имени пользователя (запрос на установление безопасного соединения и т. д.).
Мои вопросы:
- Можно ли как-то сказать замазке, чтобы избежать этих диалоговых окон?
- Могу я сказать
ntauthority\networkservice
закрыть диалоговое окно, созданное замазкой? - Могу ли я просмотреть
putty
окно запущеноnetwork service
? так что я могу сам уволить, и тогда он больше не появится? - Могу ли я бежать
putty
как любой другой пользователь (без необходимости хранить какие-либо пароли, из соображений безопасности)?
Любой ответ на эти вопросы поможет мне достичь моей цели.
1 ответ
Диалоговое окно, по-видимому, является принятием ключа хоста удаленного сервера. Putty просит подтвердить хост-ключ для сохранения этого ключа в реестре пользователя, который хочет к нему подключиться. Если вы хотите обойти это диалоговое окно, вы можете принудительно использовать указанный ключ хоста с -hostkey
вариант.
Кроме того, вы можете объяснить замазке использовать серию команд, хранящихся в текстовом файле с -m
вариант.
Все эти варианты объясняются здесь: замазка