PowerShell的CredSSP身份和TLS 1.2(Powershell CREDSSP an

2019-10-30 05:22发布

服务器A是Server 2008 R2中,PowerShell的V3所有的SSL和TLS启用,所有密码。 服务器B是服务器2016年,Powershell的V5和只有TLS 1.2和组特定的加密算法的。

我不能让CredSSP身份验证,从工作到B,即使我用

Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12

我所知,这是每一个会话设置,所以我包含在脚本本身。

如果我设置服务器B(服务器2016)开启所有SSL和TLS加密的CredSSP工作没有问题。

是的,我需要的,因为在服务器B上的脚本引用的文件共享回到服务器A.使用的CredSSP

下面是我使用的脚本,一遍,当TLS的所有版本都启用工作。

$pass = ConvertTo-SecureString "password" -asplaintext -force
$mycred = new-object -typename System.Management.Automation.PSCredential -argumentlist "domain\user.service",$pass
#
#
# The Remote Execution Command. Fully Qualified Domain name is critical since we are using Credssp.
# Credssp is being used to resolve an issue with a double hop authentication issue. 
Invoke-Command -ComputerName ServerB.domain.edu -command { C:\HelloWorld.ps1 } -Authentication Credssp  -Credential $mycred

有一件事我还没有尝试过,但我打算,放在两个服务器A和B上的TLS 1.2,看看它是否工作的方式。 这不是一个长期的解决方案,因为服务器A不能在这个时候被设置为只TLS 1.2。

Answer 1:

所以它看起来像问题涉及到服务器2008只具有TLS的服务器子项和注册表项没有TLS对SCHANNEL寄存器设置客户子项。 见图片

有一次,我增加了客户端的子项,启用TLS 1.2加密,它终于开始工作。



文章来源: Powershell CREDSSP and TLS 1.2