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

iTa*_*ayb 0 authentication powershell ntlm powershell-remoting credssp

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

选项包括 Kerberos、CredSSP、NTLM 和 Negotiate。

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

iTa*_*ayb 5

克伯罗斯

\n\n

优点:

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

缺点:

\n\n
    \n
  • 需要执行用户\xe2\x80\x99s域中的SPN记录(仅在计算机\xe2\x80\x99s域上自动注册。如果\xe2\x80\x99s是两个不同的域\xe2\x80\x93,则SPN需要手动注册)。
  • \n
  • 不支持第二跳远程处理。
  • \n
\n\n

信用SSP

\n\n

有点安全 \xe2\x80\x93 凭据正在传递到远程服务器并可能在那里捕获。

\n\n

优点:

\n\n
    \n
  • 支持第二跳远程处理。
  • \n
\n\n

缺点:

\n\n
    \n
  • 必须通过隐式凭据。
  • \n
  • 服务器端和客户端都需要特殊配置。
  • \n
\n\n

NTLM

\n\n

优点:

\n\n
    \n
  • 无需传递隐式凭据。
  • \n
\n\n

缺点:

\n\n
    \n
  • 不太安全。
  • \n
  • 不支持第二跳远程处理。
  • \n
\n\n

谈判

\n\n

尝试 Kerberos。如果失败,则退回到 NTLM。有时安全,有时则\xe2\x80\x99t。

\n\n

优点:

\n\n
    \n
  • 无需传递隐式凭据。
  • \n
\n\n

缺点:

\n\n
    \n
  • 不支持第二跳远程处理。
  • \n
\n