как лучше всего найти учетные данные openssh для скрипта powershell, запускаемого SYSTEM
363
Groostav
У меня есть скрипт PowerShell в виде
$commands = @" echo "1 + 2" | bc "@ $commands | ssh user@1.2.3.4
В настоящий момент я заранее настраиваю ssh-ключи, но проблема в том, что вызывающая сторона моего скрипта - это служба, запускаемая в пользовательском пространстве SYSTEM, что, в свою очередь, означает, что ни один из моих ssh-ключей не сгенерирован. для administrator
или user1234
привыкать. досадно, но это фактически приводит к зависанию ssh-клиента powershell.
Какое лучшее решение, и есть ли у кого-нибудь код, чтобы начать меня?
- Я мог бы сделать некоторую PowerShell
runas
Foo, чтобы обмениваться между пользователями, чтобы дать мне своего рода "жесткую точку" пользователя для SSH - Я мог бы переместить ssh-ключи из их дома по умолчанию
~/.ssh
, хотя я действительно не знаю, что безопасно, а что нет. - Я мог бы, при неприятных эксплуатационных затратах, прекратить использование службы с пользователем SYSTEM и пытаться запускать эту службу как пользователь каждый раз, когда я захожу в офис.
Большое спасибо!
Нет PowerShell SSH-клиента. Я полагаю, вы используете WSL и обычный WSL SSH? В зависимости от того, как вы запускаете этот скрипт, вы также можете просто дать ему пользователя, и вам не нужно будет запускать его вручную каждый раз, когда вы приходите в офис. [Исходя из этого] (https://docs.microsoft.com/en-us/windows/desktop/services/localsystem-account) может показаться, что дом пользователя по умолчанию должен быть его домом.
Seth 5 лет назад
0
Предложение. Используйте [psexec -s] (https://docs.microsoft.com/en-us/sysinternals/downloads/psexec) для создания или импорта ключей в системную учетную запись.
harrymc 5 лет назад
1
@Seth Powershell поддерживает SSh в версии 6. https://github.com/PowerShell/Win32-OpenSSH/releases.
uSlackr 5 лет назад
1
Вы смотрели использовать модуль PowerShell SSH из MS PowerShellGallery --- Find-Module -Name '* ssh *'
postanote 5 лет назад
1
@uSlackr спасибо, это интересно знать. Тем не менее, если вы посмотрите на то, что делает OP, становится ясно, что он не использует командлет, а просто передает данные в порт / a OpenSSH. Модуль для ssh не содержит каких-либо функций для фактического использования SSH в PowerShell, а представляет собой просто порт SSH для Windows и модуль OpenSSHUtils. Хотя хорошо знать, что он не использует WSL. Posh-SSH - это настоящий модуль PowerShell, который позволяет использовать SSH PowerShell.
Seth 5 лет назад
1
Похоже, что он может использовать проект Win32 и открыл для этого проблему на GitHub: https://github.com/PowerShell/Win32-OpenSSH/issues/1287
uSlackr 5 лет назад
1
@uSlackr это правильно, мне жаль, что я не очень хорошо знаком с ssh, и я был совершенно уверен, что я получил свой ssh-клиент с помощью chocolaty. Я сделал эту проблему, так как, IMHO, ошибка с ошибкой. Но теперь, когда вы, ребята, указали на множество различных вариантов ssh, я не уверен, что мне следует делать. Должен ли я просто удалить свою открытую установку ssh, взять пошаговый мерзавец и назвать это днем?
Groostav 5 лет назад
0
0 ответов на вопрос
Похожие вопросы
-
6
Хорошее руководство по PowerShell, начало работы с более продвинутым использованием
-
10
Как настроить SSH, чтобы мне не приходилось вводить свой пароль?
-
3
Как я могу использовать ssh для запуска команды на удаленной машине Unix и выхода до ее завершения?
-
-
8
Спаси меня от бессмысленного терминала
-
5
Отключение звукового сигнала окна cmd
-
4
Как заставить ключи HOME или END работать в mc, работающем на OS X (ssh)
-
3
Powershell пинг до бесконечности
-
3
/ usr / bin / reset отключает возврат
-
4
Создан ключ с использованием SSH keygen, не может увидеть папку с помощью filezilla
-
9
Могу ли я загрузить файл на свой компьютер из telnet (putty)?