Jak naprawić RDP na Windows Server 2012?

12

Oto migawka stanu RDP. Wygląda dobrze: wprowadź opis zdjęcia tutaj

Kiedy idę połączyć się ze zdalnego komputera, pojawia się błąd:

"This computer can't connect to the remote computer. 
Try connecting again. If the problem continues..."

Port 3389 przetestowałem zdalnie, jest otwarty. Przetestowałem to za pomocą netstat.

TCP    0.0.0.0:3389           hostname:0                LISTENING
  • Brak zapory systemu Windows
  • Brak zapory sieciowej
  • Nowy samopodpisany certyfikat
  • Maszyna została niedawno ponownie uruchomiona, wcześniej działała
  • Usługi terminalowe są uruchomione
  • Kiedy sprawdzam certyfikat SSL, pokazuje wszystkie szczegóły, wygląda dobrze, wygasa w 2014 roku
  • hklm: \ System \ CurrentControlSet \ Control \ Terminal Server \ fDenyTSConnections wynosi 0
  • C: \ ProgramData \ Microsoft \ Crypto \ RSA \ MachineKeys administrator ma wszystkie uprawnienia

Aktualizacja:

Teraz znajduję to w dzienniku zdarzeń w sekcji Zdarzenia administracyjne:

"A fatal error occurred when attempting to access the SSL server credential 
private key. The error code returned from the cryptographic module is 0x8009030D. 
The internal error state is 10001." 

Nie jestem pewien, jak rozwiązać powyższy błąd. Nie jestem też pewien, czy to mój importowany certyfikat RD, chociaż wiem, że dzieje się to, gdy próbuję RDP z mojego komputera.

Aktualizacja II:

Próbowałem używać programu PowerShell do generowania certyfikatów z kluczami prywatnymi. Brak szczęścia. Zastosowane techniki tu i tutaj bez powodzenia. Za każdym razem dodałem certyfikat do zaufanego katalogu głównego i osobistego dla użytkownika systemu w przystawce Certyfikat MMC.

Aktualizacja III:

Tak denerwujące

To forum wskazuje, że system Windows mógł zostać zaktualizowany podczas ponownego uruchamiania, powodując nieodwracalny błąd podczas instalowania roli Brokera połączeń usług pulpitu zdalnego (najwyraźniej potrzebny do wygenerowania pliku pfx klucza prywatnego do zaimportowania do programu MMC). Błąd dotyczy poprawki KB2821895 z czerwca 2013 r. Można temu zaradzić? http://support.microsoft.com/kb/2871777

Uruchomiłem więc najnowszą aktualizację systemu Windows i próbowałem zainstalować Broker połączeń pulpitu zdalnego, aby wygenerować plik pfx. Brak szczęścia. Mówi, że jedna lub więcej funkcji nadrzędnych nie jest zainstalowanych - nawet jeśli Hyper-V itp. Są. I nie mówi, jakie inne role dodać ...

Zaktualizuj podsumowanie Pytanie!

Więc wszystko powiedziane i zrobione teoretycznie, czy zainstalowanie Brokera połączeń usług pulpitu zdalnego (w celu wygenerowania klucza prywatnego) prawdopodobnie rozwiąże mój błąd szyfrowania?

FlavorScape
źródło
Twój zrzut ekranu jest bramą rdp, ale mówisz o waniliowym rdp. Są to dwie osobne rzeczy; brama RDP działa na: 443 do tunelowania połączeń RDP w sieci.
Mark Henderson
Właśnie, zaczynałem podejrzewać, że byłem w niewłaściwym miejscu. Jak rozwiązać problem z certyfikatem? Nie widzę, gdzie w waniliowych ustawieniach RD nawet to zmienić.
FlavorScape
Sprawdzenie, czy usługa działa za pośrednictwem netstat, nie jest wystarczającym testem. Ze zdalnego systemu uruchom „telnet IP_OF_RDP_HOST 3389” (bez cudzysłowów) i powinien usunąć cały tekst z okna cmd. Alternatywnie uruchom przechwytywanie sieci (netmon / wireshark), aby ustalić, czy tworzona jest sesja TCP.
user2320464
Spróbuj przejść przez blogs.technet.microsoft.com/askperf/2014/10/22/… - działało dla mnie z odrzuconym połączeniem RDP z svr Win2012 :-)
Nigel Harvey

Odpowiedzi:

7

Ten błąd może wystąpić podczas łączenia po zaimportowaniu certyfikatu SSL (i powiązanego klucza prywatnego) do systemu Windows Server 2012:

This computer can't connect to the remote computer. Try connecting again. If the problem continues, contact the owner of the remote computer or your network administrator. 

Ponadto w dziennikach zdarzeń systemu Windows widać:

"A fatal error occurred when attempting to access the SSL server credential 
private key. The error code returned from the cryptographic module is 0x8009030D. 
The internal error state is 10001." 

Rozwiązanie:

Cytat z Microsoft KB2001849:

„Usługa hosta usług pulpitu zdalnego działa na koncie NETWORK SERVICE. Dlatego konieczne jest ustawienie listy ACL pliku kluczy używanego przez RDS (do którego odwołuje się certyfikat wymieniony w wartości rejestru SSLCertificateSHA1Hash) w celu uwzględnienia usługi NETWORK z„ Read ” uprawnienia. Aby zmodyfikować uprawnienia, wykonaj następujące czynności:

Otwórz przystawkę Certyfikaty dla komputera lokalnego:

  1. Kliknij Start, kliknij Uruchom, wpisz mmc i kliknij OK.

  2. W menu Plik kliknij polecenie Dodaj / Usuń przystawkę.

  3. W oknie dialogowym Dodawanie lub usuwanie przystawek, na liście Dostępne przystawki kliknij Certyfikaty i kliknij Dodaj.

  4. W oknie dialogowym przystawki Certyfikaty kliknij opcję Konto komputera, a następnie kliknij przycisk Dalej.

  5. W oknie dialogowym Wybierz komputer kliknij opcję Komputer lokalny: (komputer, na którym działa ta konsola), a następnie kliknij przycisk Zakończ.

  6. W oknie dialogowym Dodawanie lub usuwanie przystawek kliknij przycisk OK.

  7. W przystawce Certyfikaty w drzewie konsoli rozwiń węzeł Certyfikaty (komputer lokalny), rozwiń Osobiste i przejdź do certyfikatu SSL, którego chcesz użyć.

  8. Kliknij certyfikat prawym przyciskiem myszy, wybierz Wszystkie zadania i wybierz Zarządzaj kluczami prywatnymi.

  9. W oknie dialogowym Uprawnienia kliknij Dodaj, wpisz SERWIS SIECI, kliknij OK, wybierz Odczyt w polu wyboru Zezwalaj, a następnie kliknij OK. ”

Źródło: https://support.microsoft.com/en-us/kb/2001849

hwdsl2
źródło
3

Wyłączyłem usługi bramy. Skończyło się na tym, że uruchomiłem MMC i całkowicie usunąłem certyfikat RD. Następnie wyłączyłem i ponownie włączyłem zezwolenie na połączenia zdalne. To wygenerowało nowy, dobry certyfikat i mogłem zalogować się na domenie maszyny!

FlavorScape
źródło
2

Czy mam rację, zakładając, że zaimportowałeś certyfikat z podpisem własnym? W takim przypadku najprawdopodobniej zaznaczyłeś certyfikat, którego nie można wyeksportować, co wyjaśniłoby błąd ... Zajrzyj na http://blogs.msdn.com/b/kaushal/archive/2012/10/07/error -hresult-0x80070520-when-added-ssl-binding-in-iis.aspx w celu uzyskania dalszych szczegółów. Jeśli mam rację, musisz usunąć i ponownie zaimportować certyfikat z ustawioną flagą „Zezwalaj na eksport”.

Łosoś
źródło
Mój certyfikat nigdy nie wygenerował klucza prywatnego, więc nie mogę eksportować / importować, aby pobrać go do systemu zamiast do mojej bazy certyfikatów użytkownika. Próbuję teraz użyć programu PowerShell do wygenerowania klucza prywatnego, ponieważ najwyraźniej ten w oknie dialogowym RD wcale tego nie robi.
FlavorScape 24.09.2013
Nie
dodam
1

Przygotuj rozwiązanie:

Pobierz makecert.exe i wygeneruj nowy certyfikat dla RDP

makecert -r -pe -n "CN = FQDN serwera" -eku 1.3.6.1.5.5.7.3.1 -ss my -sr LocalMachine -sky exchange -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12 "

Zmień nazwę FQDN serwera na rzeczywistą wartość.

Przejdź do certyfikatów komputera i pod zdalnym pulpitem usuń bieżący certyfikat. Następnie ze sklepu osobistego przenieś nowo utworzony certyfikat na Pulpit zdalny. Otwórz certyfikat i skopiuj odcisk palca.

Otwórz regedit i przejdź do:

HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Terminal Server \ WinStations

Zaktualizuj klucz SelfSignedCertificate o nowy odcisk certyfikatu.

Uruchom ponownie usługę usług pulpitu zdalnego

opti2k4
źródło
1

Miałem ten sam problem, błąd pojawiał się, gdy tylko kliknąłem Połącz.

Aby rozwiązać problem, zmieniłem usługę usług pulpitu zdalnego , tak aby działała ona jako lokalne konto systemowe zamiast usługi SIECIOWEJ. Uruchomiłem ponownie usługę i wszystko działało normalnie.

EDYCJA:
Właśnie dowiedziałem się, że spowoduje to komunikat odmowy dostępu i musi być ustawiony jako USŁUGA SIECIOWA. Ale zmiana na Lokalne konto systemowe i powrót do USŁUGI SIECI całkowicie rozwiązała mój problem.

0x0000001E
źródło
1

To w końcu naprawiło ten sam problem (duże rekwizyty w tym poście TechNet o tym, jak wyśledzić, który klucz prywatny jest przestępcą)

  1. Pobierz i uruchom Procmon (z Sysinternals Suite)
  2. Monitoruj folder MachineKeys pod kątem aktywności (najprawdopodobniej: C: \ ProgramData \ Microsoft \ Crypto \ RSA \ MachineKeys), nasłuchując dowolnej aktywności na tej ścieżce
  3. Próba wykonania RDP na maszynie naruszającej i powinieneś zobaczyć Procmon zwróć uwagę na błąd odmowy dostępu wraz z plikiem, który odmawia dostępu
  4. Usuń niepoprawny plik (być może najpierw będziesz musiał uczynić go właścicielem, a następnie dać sobie pełną kontrolę)
  5. Uruchom ponownie komputer, a powinien zregenerować brakujący klucz z zastosowaniem odpowiednich uprawnień
si1ic0n_gh0st
źródło
0

Spóźniam się na przyjęcie, ale to mi pomogło.

  • Wygeneruj nowy certyfikat PFX. Samopodpisane będą działać:

    Install-Module SharePointPnPPowerShellOnline $ password = ConvertTo-SecureString "P @ ssword" -Force -AsPlainText Nowy-PnPAzureCertificate -CommonName RDS_CertName -ValidYears 30 -OutPfx "RDS_CertName .pfx" -Certificate

  • Przechwyć odcisk palca w oknie wyjściowym
  • Zainstaluj wygenerowany certyfikat PFX w folderze Mój komputer> Sklep osobisty
  • Uruchom następujące polecenie, używając odcisku palca zarejestrowanego w powyższych krokach:

    wmic / namespace: \ root \ cimv2 \ TerminalServices PATH Win32_TSGeneralSetting Set SSLCertificateSHA1Hash = " THUMB_PRINT "

Zerg00s
źródło