Comment réparer RDP sur Windows Server 2012?

12

Voici un instantané de l'état RDP. Cela semble bon: entrez la description de l'image ici

Lorsque je me connecte à partir d'une machine distante, j'obtiens une erreur:

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

J'ai testé le port 3389 à distance, il est ouvert. Je l'ai testé avec netstat.

TCP    0.0.0.0:3389           hostname:0                LISTENING
  • Pas de pare-feu Windows
  • Pas de pare-feu réseau
  • Nouveau certificat auto-signé
  • La machine a récemment été redémarrée, elle fonctionnait auparavant
  • Les services Terminal Server sont en cours d'exécution
  • Lorsque j'inspecte le certificat SSL, il montre tous les détails, a l'air bien, expire en 2014
  • hklm: \ System \ CurrentControlSet \ Control \ Terminal Server \ fDenyTSConnections vaut 0
  • L'administrateur C: \ ProgramData \ Microsoft \ Crypto \ RSA \ MachineKeys a tous les privilèges

Mettre à jour:

Maintenant, je trouve cela dans le journal des événements sous Événements administratifs:

"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." 

Je ne sais pas comment résoudre l'erreur ci-dessus. Je ne suis pas certain non plus que ce soit mon certificat RD importé, bien que je sache que cela se produit lorsque j'essaie de RDP à partir de ma machine.

Mise à jour II:

J'ai essayé d'utiliser PowerShell pour générer des certificats avec des clés privées. Pas de chance. Utilisé des techniques ici et ici sans succès. Chaque fois que j'ai ajouté le certificat à des racines de confiance et à des informations personnelles pour l'utilisateur système dans le composant logiciel enfichable Certificat MMC.

Mise à jour III:

Si ennuyant

Ce forum indique que les fenêtres peuvent s'être mises à jour pendant le redémarrage, provoquant une erreur irrécupérable lors de l'installation du rôle Broker de connexion Bureau à distance (nécessaire, apparemment, pour générer un fichier pfx de clé privée à importer dans MMC). Le bogue est avec le correctif de juin 2013 KB2821895. Cela pourrait être remidié avec cela? http://support.microsoft.com/kb/2871777

J'ai donc exécuté la dernière mise à jour de Windows et essayé d'installer le courtier de connexion Bureau à distance afin de pouvoir générer le fichier pfx. Pas de chance. Il indique qu'une ou plusieurs fonctionnalités parent ne sont pas installées, même si Hyper-V, etc. le sont. Et cela ne dit pas quels autres rôles ajouter ...

Mettre à jour la question récapitulative!

Donc, tout dit et fait, théoriquement, le fait d'installer le RD Connection Broker (afin de générer une clé privée) résoudrait-il probablement mon erreur de chiffrement?

FlavorScape
la source
Votre capture d'écran représente la passerelle rdp, mais vous parlez de rdp vanille. Ce sont deux choses distinctes; une passerelle rdp fonctionne sur: 443 pour tunneliser les connexions rdp à l'intérieur d'un réseau.
Mark Henderson du
Bon, je recevais un soupçon furtif que j'étais au mauvais endroit - Comment résoudre le problème de certificat? Je ne vois pas où dans les paramètres RD vanilla pour même changer cela.
FlavorScape
Vérifier que le service s'exécute via netstat n'est pas un test suffisant. À partir d'un système distant, exécutez "telnet IP_OF_RDP_HOST 3389" (sans guillemets) et il devrait supprimer tout le texte dans la fenêtre cmd. Vous pouvez également exécuter une capture réseau (netmon / wirehark) pour déterminer si une session TCP est en cours d'établissement.
user2320464
Essayez de parcourir blogs.technet.microsoft.com/askperf/2014/10/22/… - cela a fonctionné pour moi avec une connexion RDP rejetée à Win2012 svr :-)
Nigel Harvey

Réponses:

7

Vous pouvez rencontrer cette erreur lors de la connexion après l'importation d'un certificat SSL (et de la clé privée associée) dans 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. 

De plus, dans les journaux des événements Windows, vous voyez:

"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." 

Solution:

Citation de Microsoft KB2001849:

"Le service Remote Desktop Host Services s'exécute sous le compte NETWORK SERVICE. Par conséquent, il est nécessaire de définir l'ACL du fichier de clé utilisé par RDS (référencé par le certificat nommé dans la valeur de registre SSLCertificateSHA1Hash) pour inclure NETWORK SERVICE avec" Read " Pour modifier les autorisations, procédez comme suit:

Ouvrez le composant logiciel enfichable Certificats pour l'ordinateur local:

  1. Cliquez sur Démarrer, sur Exécuter, tapez mmc, puis cliquez sur OK.

  2. Dans le menu Fichier, cliquez sur Ajouter / Supprimer un composant logiciel enfichable.

  3. Dans la boîte de dialogue Ajouter ou supprimer des composants logiciels enfichables, dans la liste Composants logiciels enfichables disponibles, cliquez sur Certificats, puis sur Ajouter.

  4. Dans la boîte de dialogue Composant logiciel enfichable Certificats, cliquez sur Compte d'ordinateur, puis sur Suivant.

  5. Dans la boîte de dialogue Sélectionner un ordinateur, cliquez sur Ordinateur local: (l'ordinateur sur lequel cette console s'exécute), puis cliquez sur Terminer.

  6. Dans la boîte de dialogue Ajouter ou supprimer des composants logiciels enfichables, cliquez sur OK.

  7. Dans le composant logiciel enfichable Certificats, dans l'arborescence de la console, développez Certificats (ordinateur local), développez Personnel et accédez au certificat SSL que vous souhaitez utiliser.

  8. Cliquez avec le bouton droit sur le certificat, sélectionnez Toutes les tâches, puis sélectionnez Gérer les clés privées.

  9. Dans la boîte de dialogue Autorisations, cliquez sur Ajouter, tapez SERVICE RÉSEAU, cliquez sur OK, sélectionnez Lire sous la case Autoriser, puis cliquez sur OK. "

Source: https://support.microsoft.com/en-us/kb/2001849

hwdsl2
la source
3

J'ai désactivé les services de passerelle. J'ai fini par exécuter MMC et supprimer complètement le certificat RD. Ensuite, j'ai désactivé et réactivé autoriser les connexions à distance. Cela a généré un nouveau bon certificat et j'ai pu me connecter sur le domaine de la machine!

FlavorScape
la source
2

Ai-je raison de supposer que vous avez importé le certificat auto-signé? Si c'est le cas, vous avez probablement marqué le certificat non exportable, ce qui expliquerait l'erreur ... Consultez http://blogs.msdn.com/b/kaushal/archive/2012/10/07/error -hresult-0x80070520-when-add-ssl-binding-in-iis.aspx pour plus de détails. Si j'ai raison, vous devez supprimer et réimporter le certificat avec le jeu d'indicateurs "Autoriser l'exportation".

Poisson
la source
Mon certificat n'a jamais généré de clé privée, je ne peux donc pas exporter / importer pour l'obtenir sur le système au lieu de mon magasin de certificats utilisateur. J'essaie maintenant d'utiliser PowerShell pour en générer une avec une clé privée, car apparemment celle de la boîte de dialogue RD ne le fait pas du tout.
FlavorScape
Je n'ajoute pas non plus la liaison à IIS, c'est pour Remote Desktop ...
FlavorScape
1

Ayez une solution pour vous:

Téléchargez makecert.exe et générez un nouveau certificat pour RDP

makecert -r -pe -n "CN = nom de domaine complet du serveur" -eku 1.3.6.1.5.5.7.3.1 -ss my -sr LocalMachine -sky exchange -sp "Microsoft RSA SChannel Cryptographic Provider" -sy 12 "

Modifiez le nom de domaine complet du serveur avec une valeur réelle.

Accédez aux certificats d'ordinateur et sous le bureau à distance, supprimez le certificat actuel. Ensuite, à partir du magasin personnel, déplacez le certificat nouvellement créé vers Remote Desktop. Ouvrez le certificat et copiez l'empreinte numérique.

Ouvrez regedit et accédez à:

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

Mettez à jour la clé SelfSignedCertificate avec la nouvelle empreinte certifiée.

Redémarrez le service Remote Desktop Services

opti2k4
la source
1

J'ai eu le même problème, avec une erreur apparaissant dès que j'ai cliqué sur se connecter.

Pour résoudre ce problème, j'ai modifié le service des services Bureau à distance afin qu'il s'exécute en tant que compte système local au lieu de SERVICE RÉSEAU. Redémarré le service et tout a fonctionné normalement.

EDIT:
Je viens de découvrir que cela entraînera un message d' accès refusé et doit être défini comme SERVICE RÉSEAU. Mais changer cela en compte système local et revenir au service réseau a résolu mon problème complètement.

0x0000001E
la source
1

C'est finalement ce qui a résolu ce même problème pour moi (gros accessoires à ce post TechNet sur la façon de retrouver la clé privée qui est le contrevenant)

  1. Téléchargez et exécutez Procmon (à partir de la suite Sysinternals)
  2. Surveillez l'activité du dossier MachineKeys (très probablement: C: \ ProgramData \ Microsoft \ Crypto \ RSA \ MachineKeys) en écoutant toute activité de ce chemin
  3. Essayez de RDP à la machine incriminée et vous devriez alors voir Procmon noter l'erreur d'accès refusé, ainsi que le fichier qui refusait l'accès
  4. Supprimez le fichier incriminé (vous devrez peut-être d'abord vous en faire propriétaire, puis vous donner le plein contrôle)
  5. Redémarrez l'ordinateur et il devrait régénérer votre clé manquante avec les autorisations appropriées appliquées
si1ic0n_gh0st
la source
0

Je suis en retard à la fête, mais c'est ce qui m'a aidé.

  • Générez un nouveau certificat PFX. L'auto-signature fonctionnera:

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

  • Capturer une empreinte numérique dans la fenêtre de sortie
  • Installer le certificat PFX généré sur le Poste de travail> Magasin personnel
  • Exécutez la commande suivante en utilisant l'empreinte numérique que vous avez capturée dans les étapes ci-dessus:

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

Zerg00s
la source