Я хочу выполнить некоторые команды с сервера Linux для удаленного запуска модуля PowerShell, такого как DNSserver, на компьютере с Windows для получения информации DNS.Я использую OpenSSH для SSH из Linux в Windows.
У меня PowerShell 6.2.3 как на сервере Windows, так и на сервере Linux.Я начал с Linux:
><b>pwsh</b>
PS /home/user1> <b>Enter-PSSession -HostName WinServer-IP -UserName user2</b>
Если я не настрою проверку подлинности ключа на сайте Windows (добавьте открытый ключ в файл C:\ProgramData\ssh\administrators_authorized_keys
и установите правильные разрешения для файла), PowerShell выполнит командуспроси у меня пароль user2.После ввода пароля я нахожусь на сервере Windows и могу запускать свои сценарии PowerShell, и все они работают нормально.
Но если я настроил ключ авторизации - добавьте открытый ключ в файл C:\ProgramData\ssh\administrators_authorized_keys
,и установите правильные разрешения для файла.PowerShell не будет запрашивать пароль user2, и я получаю ту же подсказку, что и выше:
Я могу сделать что-то вроде Get-Module
и т. Д., Но когда я запускаю свой скрипт, который делает:
Get-DnsServerResourceRecord -ComputerName 'DNSServer-IP' -ZoneName 'example.net' -RRType A
Я получил сообщение об ошибке:
Get-DnsServerResourceRecord : Failed to get the zone information for
example.net. on server DNSServer-IP.
At C:\Users\user2\scripts\retrieve_ips.ps1:1 char:1
+ Get-DnsServerResourceRecord -ComputerName 'DNSServer-IP' -ZoneName 'ex ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : PermissionDenied: (example.net.:root/Microsoft/Wind\u2026erverResourceRecord) [Get-DnsServerResourceRecord], CimException
+ FullyQualifiedErrorId : WIN32 5,Get-DnsServerResourceRecord
Похоже, что аутентификация с открытым ключом SSH на самом деле не делает меня "пользователями", но я не могу узнать, что это такое.
user2является локальным пользователем на сервере Windows, но я должен добавить его в Active Directory, так как AD должен знать этого пользователя, прежде чем он позволит user2 запустить модуль DNSserver ...
Что я сделал не так,или пропущен?
Без аутентификации с открытым ключом SSH работает тот же сценарий, и я могу получить записи A нашего DNS-сервера.