Рейтинг:0

Соединение Powershell ssh от linux к контроллеру домена очень медленное

флаг cn

У меня есть приложение PHP для создания учетных записей пользователей в нашей Windows Active Directory. Это приложение работает на Apache и Debian 11. У меня только LDAP (из-за некоторых приложений, которые не поддерживают LDAPS), поэтому я не могу установить пароль непосредственно из PHP. Я пытаюсь добиться этого, используя powershell через ssh. Я установил последние версии 7.2 как на Linux, так и на контроллере домена. В DC ​​я добавил сервер OpenSSH и отключил брандмауэр. Я добавил Linux-компьютер в TrustHosts на DC.

Я могу подключиться к DC с удаленного компьютера через шпатлевку, и все работает без сбоев. Когда я использую [email protected] с Linux-сервера, он тоже работает хорошо, однако, когда я запускаю что-то подобное с Linux-сервера

Invoke-Command -ComputerName 192.168.2.11 -Credential $creds -Authentication Negotiate -ScriptBlock {Get-Process}

где $creds содержит что-то вроде домен\фамилия.имя (также пытался фамилия.имя@домен.com) и пароль, выполнение этой команды занимает от 2 до 5 минут. Когда я пробую Enter-PSSession и подключаюсь к DC, выполнение каждой отдельной команды занимает несколько минут, например, если я запускаю Get-Date, выполнение занимает еще 2-5 минут. Даже когда я просто нажимаю ввод без команды, я могу снова продолжить работу с терминалом через 2-5 минут.

Я пробовал это на Debian9, Debian11, Windows Server 2019 и 2022.

Mathias R. Jessen avatar
флаг us
Есть ли разница, если вы добавите `-SessionOption (New-PSSessionOption -NoMachineProfile)` либо к `Invoke-Command`, либо к `Enter-PSSession`?
флаг cn
Привет, Матиас, спасибо за комментарий. В Linux нет переключателя -NoMachineProfile для New-PSSessionOption :( У меня уже есть «решение», я создам ответ.
Рейтинг:0
флаг cn

Я уже решил это. Проблем не было вообще, по крайней мере, для задачи, которую я хочу выполнить. Я использовал шпатлевку для подключения к виртуальной машине Linux, а затем оттуда я попытался запустить эти удаленные команды Powershell для подключения к DC, и это было очень медленно, как я описал, но когда я подключился к серверу Windows с помощью команды ssh (вне powershell), все работает хорошо, только команды powershell были медленными.

Когда я использую консоль VirtualBox для подключения к этой виртуальной машине Linux, а не к шпатлевке (ssh), все работает гладко. Мне нужно запустить powershell из PHP, поэтому сначала не нужно подключаться через ssh, я использовал его только для тестирования, и это стоило мне 2 дней работы. Я в полном порядке с этим решением. Надеюсь, это поможет кому-то.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.