Как я могу запустить что-то от имени администратора через SSH Cygwin?

12

Я пытаюсь подключиться к удаленной коробке Windows 7, которая требует изменения настроек или двух. У меня есть доступ к учетной записи администратора через SSH-сервер Cygwin, но Cygwin не разрешает мне запускать утилиты с правами администратора («Запрошенная операция требует повышения прав (Запуск от имени администратора.)»)

Насколько мне известно, стандартным решением для этого является RunAs.exe, но попытка запустить его через SSH приводит к его немедленному завершению без какой-либо диагностики (даже при запуске как «runas /?»). Запуск «cmd» из ssh дает мне стандартную подсказку DOS, но из подсказки DOS «runas» просто повторяет командную строку обратно мне, независимо от того, что я делаю, опять же, даже когда запускается как «runas /?».

Cygwin не позволит мне подключиться как администратор @ имя_компьютера.

Какие-либо предложения?

ZorbaTHut
источник
3
врезаться Я хотел бы знать ответ на этот вопрос тоже.
user73139

Ответы:

3

Если вы входите в sshd с парольной аутентификацией, то вы одновременно аутентифицируетесь в Windows, и вам должны быть предоставлены права администратора вашей учетной записи. Если вы входите в систему с аутентификацией с открытым ключом, тогда sshd прекратит работу с аутентификацией Windows, и у вас будут только стандартные права пользователя.

Для получения дополнительной информации см . Ответ Коринны на этот вопрос от 2004 года. См. Также недавнюю ветку в списке рассылки Cygwin о правах администратора для ssh .

Эндрю Шульман
источник
Прискорбно, что вы получаете административные права с аутентификацией с открытым ключом на рабочих станциях рабочих групп (Windows 10), но не для серверов, подключенных к домену (Windows Server 2012).
С Fraire
0

Вы пытались сделать runasпротив cmd.exe?

По логике это открыло бы cmd.exe с набором повышенных разрешений, позволяющим вам делать все, что вам нравится в качестве администратора. Я не пользователь Windows, поэтому я не могу проверить это.

C0D3M0NK3Y
источник
0

Щелкните правой кнопкой мыши по ярлыку или исполняемому файлу Cygwin и выберите параметр «Запуск от имени администратора». Это должно открыть терминал Cygwin и дать вам повышенные разрешения в этом терминале.

Damon
источник
1
Не работает при входе извне - вот почему важен весь «SSH».
ZorbaTHut
Этот ответ работал для меня, проголосовал.
CHarris
0

Резюме

Runas может не поддерживаться, но вы можете использовать бесплатную утилиту CPAU http://www.joeware.net/freetools/tools/cpau/index.htm

Эта утилита позволит вам запустить приложение, используя другой набор учетных данных, чем текущий пользователь. Преимущество CPAU перед runas заключается в том, что вы можете указать и имя пользователя, и пароль во время выполнения. С помощью команды runas сначала необходимо настроить кэшированные учетные данные или запросить пароль при каждом запуске.

Примеры

Используя CPAU для запуска iexplore.exe, вы можете использовать выражение вроде:

из командной строки cmd:

cd <path to cpau> -d
cpau.exe  /u domain\username  /p 123456  /ex "c:\Program Files (x86)\Internet Explorer\iexplore.exe" /lwp

из сценария powershell:

cd <path to cpau> -d
invoke-expression "cpau.exe  /u 'domain\username'  /p '123456'  /ex 'c:\Program Files (x86)\Internet Explorer\iexplore.exe' /lwp"

/lwpозначает «Загрузить с профилем» и может быть заменен на « /lwopЗагрузить без профиля».

Ро Йо Ми
источник
Вы пробовали, работает ли это в Cygwin?
Даниэль Бек
Я бы предположил, что это так, как вы могли бы запустить окно cmd с этим решением, а затем иметь доступ к командам cygwin.
Ro Yo Mi
0

Я попал на этот вопрос после поиска решения для тех же самых симптомов (например, runas не дает никакого вывода, даже runas /?), но из простого окна терминала cygwin. Я также нашел этот ответ, который предлагает запустить

$ cygstart --action=runas command

и для меня это обеспечило успешный результат.

hlovdal
источник
Важным моментом в вопросе OP является удаленная часть: cygstart --action=runasтолько зависает и показывает какое-либо окно учетных данных через соединение ssh (как это могло быть?)
Seki