класс powershell и secureString - PullRequest
3 голосов
/ 15 марта 2011

Пытаясь получить доступ к 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. Это всего лишь пример.)

Ответы [ 2 ]

3 голосов
/ 15 марта 2011

Это связано с тем, что FTP не может обрабатывать ничего, кроме имени пользователя и паролей в виде простого текста, если вы не используете безопасный FTP.Здесь какая-то путаница?

2 голосов
/ 15 марта 2011

Поскольку ваш вопрос отмечен как "ftp", так и "security", я могу порекомендовать вам никогда не использовать ftp, если вам вообще нужна безопасность. Используйте ssh вместо telnet, используйте scp вместо rcp, и используйте sftp вместо ftp. В противном случае бессмысленно пытаться защитить пароль в памяти и затем отправить его открытым текстом по сети. Я бы понял, использовать ftp в девяностых, хотя я не рекомендовал его тогда. Но сейчас? Я не вижу оправдания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...