3

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が必要ないことはわかっています。これは単なる例です。)

4

2 に答える 2

3

これは、セキュアFTPを使用していない限り、FTPはプレーンテキストのユーザー名とパスワード以外のものを処理できないためです。ここに混乱はありますか?

于 2011-03-15T02:21:25.903 に答える
2

あなたの質問は「ftp」と「security」の両方でタグ付けされているので、セキュリティが必要な場合にのみftpを使用しないことをお勧めします。telnetの代わりにsshを使用し、rcpの代わりにscpを使用し、ftpの代わりにsftpを使用します。それ以外の場合は、メモリ内のパスワードを保護してから、ネットワーク経由でクリアテキストで送信しようとしても意味がありません。当時はお勧めしませんでしたが、90年代にftpを使用することは理解できました。でも今?言い訳はわかりません。

于 2011-03-14T22:29:12.480 に答える