在 PowerShell 中,我应该使用哪种身份验证方案?

Posted

技术标签:

【中文标题】在 PowerShell 中,我应该使用哪种身份验证方案?【英文标题】:In PowerShell, which authentication scheme should I use? 【发布时间】:2017-12-17 07:26:14 【问题描述】:

使用 PowerShell 远程处理(例如使用 Invoke-Command cmdlet)时,需要身份验证方案。

选项包括 Kerberos、CredSSP、NTLM 和协商。

它们之间有什么区别?我应该使用什么?

【问题讨论】:

【参考方案1】:

Kerberos

优点:

非常安全。 无需传递隐式凭据。

缺点:

需要执行用户域中的 SPN 记录(仅在计算机域中自动注册。如果是两个不同的域 - SPN 需要手动注册)。 不支持第二跳远程处理。

CredSSP

有点安全 - 凭据被传递到远程服务器并可能在那里被捕获。

优点:

支持第二跳远程处理。

缺点:

必须传递隐式凭据。 需要在服务器端和客户端进行特殊配置。

NTLM

优点:

无需传递隐式凭据。

缺点:

不是很安全。 不支持第二跳远程处理。

协商

尝试 Kerberos。如果失败,则回退到 NTLM。有时安全,有时不安全。

优点:

无需传递隐式凭据。

缺点:

不支持第二跳远程处理。

【讨论】:

我认为当你写“隐式”时,你的意思是“显式”

以上是关于在 PowerShell 中,我应该使用哪种身份验证方案?的主要内容,如果未能解决你的问题,请参考以下文章

我应该为我的 API 使用哪种身份验证策略?

链接是不是应该包含 HateOAS 中的身份验证令牌?

如何在 Spring 安全性中同时使用数据库和 LDAP 身份验证?

JWT:我应该使用哪种签名算法?

使用 Powershell 创建 Windows 集群

企业应该申请哪种SSL证书