2017-06-07 1 views
0

J'essaie de me connecter à Azure à l'aide de Powershell. Lorsque j'essaie la commande Login-AzureRmAccount, j'obtiens une fenêtre pop-up pour entrer mes informations d'identification. Mais, immédiatement après cela, je reçois une erreur:Login-AzureRmAccount Impossible d'établir une relation de confiance pour le canal sécurisé SSL/TLS

Login-AzureRmAccount : Service returned error. Check InnerException for more details: The underlying connection was 
closed: Could not establish trust relationship for the SSL/TLS secure channel. 
At line:1 char:1 
+ Login-AzureRmAccount 
+ ~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : CloseError: (:) [Add-AzureRmAccount], AadAuthenticationFailedException 
    + FullyQualifiedErrorId : Microsoft.Azure.Commands.Profile.AddAzureRMAccountCommand 

Quelqu'un peut-il nous éclairer à ce sujet?

Mise à jour L'exception ci-dessous intérieure est ce que je vois:

'Microsoft.IdentityModel.Clients.ActiveDirectory.AdalServiceException: Service returned error. Check InnerException for more details ---> System.Net.WebException: The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel. ---> System.Security.Authentication.AuthenticationException: The remote certificate is invalid according to the validation procedure. at System.Net.Security.SslState.StartSendAuthResetSignal(ProtocolToken message, AsyncProtocolRequest asyncRequest, Exception exception) at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.ProcessReceivedBlob(Byte[] buffer, Int32 count, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.StartReceiveBlob(Byte[] buffer, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.ForceAuthentication(Boolean receiveFirst, Byte[] buffer, AsyncProtocolRequest asyncRequest) at System.Net.Security.SslState.ProcessAuthentication(LazyAsyncResult lazyResult) at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx) at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) at System.Net.TlsStream.ProcessAuthentication(LazyAsyncResult result)
at System.Net.TlsStream.Write(Byte[] buffer, Int32 offset, Int32 size) at System.Net.ConnectStream.WriteHeaders(Boolean async) --- End of inner exception stack trace --- at System.Net.HttpWebRequest.GetResponse() at Microsoft.IdentityModel.Clients.ActiveDirectory.HttpWebRequestWrapper.d__2.MoveNext() --- End of stack trace from previous location where exception was thrown --- at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task) at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task) at Microsoft.IdentityModel.Clients.ActiveDirectory.HttpHelper.d__0 .MoveNext() --- End of inner exception stack trace --- at Microsoft.IdentityModel.Clients.ActiveDirectory.AuthenticationContext.RunAsyncTask[T](Task 1 task) at Microsoft.Azure.Commands.Common.Authentication.UserTokenProvider.DoAcquireToken(AdalConfiguration config, PromptBehavior promptBehavior, String userId, SecureString password) at Microsoft.Azure.Commands.Common.Authentication.UserTokenProvider.SafeAquireToken(AdalConfiguration config, ShowDialog showDialog, String userId, SecureString password, Exception& ex) ErrorCode: service_returned_error StatusCode: 501'. At line:1 char:1 + Login-AzureRmAccount $Error[0].Exception.InnerException

+0

Avez-vous vérifié le InnerException? Tant que c'était la dernière erreur que vous avez vue, vous pouvez exécuter: $ Error [0] .Exception.InnerException' pour voir l'exception interne. – TheMadTechnician

+0

J'ai ajouté les détails de l'exception – Thomas

Répondre

0

Je suis assez certain que ce sera contourner votre problème, mais résout pas réellement.

AVERTISSEMENT: Ce est pas sécurisé, et ne devrait être fait si vous êtes certain que l'erreur de certificat que vous obtenez est un faux positif, ou vous ne se soucient pas vraiment! Cette méthode vous permet d'établir des connexions avec des sites malveillants et/ou compromis. C'est l'équivalent de PowerShell pour aller à une page Web dans Internet Explorer, obtenir une erreur de certificat, et en cliquant sur le lien Continue Anyway.

Si vous tentez de vous connecter manuellement et que vous obtenez une erreur de certificat, mais que vous continuez à la dépasser, vous pouvez désactiver la vérification de certificat dans PowerShell afin qu'il se comporte de la même manière. L'exécution de cette ligne avant d'essayer de vous connecter à Azure désactivera la vérification de certificat pour la session en cours. Vous devrez l'exécuter chaque fois que vous souhaitez vous connecter à Azure, tant qu'il existe une erreur de certificat.

[System.Net.ServicePointManager]::ServerCertificateValidationCallback = {$true} 

Une meilleure solution serait sans doute de résoudre le SSL/TLS problème que vous voyez, mais qui est quelque chose de très probablement mieux adapté pour ServerFault ou quelque chose.