【问题标题】:powershell and secureString classpowershell 和 secureString 类
【发布时间】:2011-07-15 08:11:05
【问题描述】:

尝试访问 FTP 站点时,我可以在凭据中使用纯文本密码并且它工作正常,但是当我使用 SecureString 时,它无法进行身份验证。例子:

$pw = "mypw"
$ftp = [system.net.ftpwebrequest] [system.net.webrequest]::create("ftp:myserver")
$ftp.Credentials  = new-object system.net.networkcredential("myuid", $pw)

工作正常。但以下失败

$pw = "mypw"
$ftp = [system.net.ftpwebrequest] [system.net.webrequest]::create("ftp:myserver")
$ss = convertto-securestring -asplaintext -force $pw
$ftp.Credentials  = new-object system.net.networkcredential("myuid", $ss)

但这无法通过身份验证。我误会了什么?

(顺便说一句,我知道我不想在我的脚本中使用纯文本 pw。这只是一个示例。)

【问题讨论】:

    标签: security powershell ftp securestring


    【解决方案1】:

    这是因为除非您使用安全 FTP,否则 FTP 无法处理纯文本用户名和密码以外的任何内容。这里有什么混乱吗?

    【讨论】:

    • 你是对的,有些混乱。我认为 SecureString 类存储了一个可解密的密码。当然,这是不正确的。
    【解决方案2】:

    由于您的问题同时被标记为“ftp”和“安全”,我只能建议您不要使用 ftp,如果您想要任何安全性。使用 ssh 代替 telnet,使用 scp 代替 rcp,使用 sftp 代替 ftp。 否则尝试保护内存中的密码然后通过网络以明文形式发送它是毫无意义的。即使我当时不推荐使用 ftp,我也会理解在 90 年代使用 ftp。但现在?我看不出任何借口。

    【讨论】:

    • 感谢您的评论,但这并不能解释出了什么问题,因此我拒绝将其作为答案。我无法控制 ftp 服务器。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-03-02
    • 1970-01-01
    • 2015-12-11
    • 1970-01-01
    • 2012-09-13
    相关资源
    最近更新 更多