Назад | Перейти на главную страницу

Enter-PSSession: не удалось подключиться к удаленному серверу

У меня три виртуальные машины: A, B и C. Я использую Enter-PSSession для их подключения. Но в последнее время соединение B с A (A-> B) никогда не удается. Другие способы (A-> C, C-> A, B-> A, B-> C, C-> B) не имеют проблем. Сообщение об ошибке:

Enter-PSSession : Connecting to remote server mymachine failed with the following error message : WinRM cannot process
the request. The following error with errorcode 0x80090322 occurred while using Kerberos authentication: An unknown
security error occurred.
 Possible causes are:
  -The user name or password specified are invalid.
  -Kerberos is used when no authentication method and no user name are specified.
  -Kerberos accepts domain user names, but not local user names.
  -The Service Principal Name (SPN) for the remote computer name and port does not exist.
  -The client and remote computers are in different domains and there is no trust between the two domains.
 After checking for the above issues, try the following:
  -Check the Event Viewer for events related to authentication.
  -Change the authentication method; add the destination computer to the WinRM TrustedHosts configuration setting or
use HTTPS transport.
 Note that computers in the TrustedHosts list might not be authenticated.
   -For more information about WinRM configuration, run the following command: winrm help config. For more
information, see the about_Remote_Troubleshooting Help topic.
At line:1 char:1
+ Enter-PSSession -ComputerName "mymachine" -Credential mydomain\myuser
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidArgument: (mymachine:String) [Enter-PSSession], PSRemotingTransportException
    + FullyQualifiedErrorId : CreateRemoteRunspaceFailed

Я использую "winrm get winrm / config / service" на B, результаты

Service
    RootSDDL = O:NSG:BAD:P(A;;GA;;;BA)(A;;GR;;;IU)S:P(AU;FA;GA;;;WD)(AU;SA;GXGW;;;WD)
    MaxConcurrentOperations = 4294967295
    MaxConcurrentOperationsPerUser = 1500
    EnumerationTimeoutms = 240000
    MaxConnections = 300
    MaxPacketRetrievalTimeSeconds = 120
    AllowUnencrypted = false
    Auth
        Basic = false
        Kerberos = true
        Negotiate = true
        Certificate = false
        CredSSP = false
        CbtHardeningLevel = Relaxed
    DefaultPorts
        HTTP = 5985
        HTTPS = 5986
    IPv4Filter = *
    IPv6Filter = *
    EnableCompatibilityHttpListener = false
    EnableCompatibilityHttpsListener = false
    CertificateThumbprint
    AllowRemoteAccess = true

Результат «winrm get winrm / config / client» на A:

Client
    NetworkDelayms = 5000
    URLPrefix = wsman
    AllowUnencrypted = false
    Auth
        Basic = true
        Digest = true
        Kerberos = true
        Negotiate = true
        Certificate = true
        CredSSP = false
    DefaultPorts
        HTTP = 5985
        HTTPS = 5986
    TrustedHosts

Нет никакой разницы между результатами «winrm get winrm / config / client» для A, B и C.

У кого-нибудь есть подсказка?

Наконец, с помощью другого коллеги я обнаружил, что KDC машины A отличается от KDC машин B и C.

Поэтому я использую следующие команды для его сброса.

klist purge
klist purge_bind
klist add_bind "domain" "kdc"

Обновление: похоже, привязка всегда сбрасывается. Поэтому я использую следующую команду, чтобы установить kdc

ksetup /addkdc "realmname" "kdc"