gpt4 book ai didi

powershell - Plink/PuTTY 使用加密密码

转载 作者:行者123 更新时间:2023-12-05 05:18:53 57 4
gpt4 key购买 nike

我想在 PowerShell 中加密密码并将其与 plinkputty 一起使用。

是的,我知道它只需要明文密码 ( Password encryption using SecureString for plink.exe command )。

不,我不会使用生成的 key ,因为我们不支持它。

我的问题:

  1. 关于如何在 puttyplink 中为 -pw 标志使用加密密码的任何建议>
  2. 我可以生成特定的字符串作为键吗?我的意思是获取当前的明文密码并将其转换为 key ,然后将其用作 -i 而不是 -pw

我的 securePass.ps1 代码:

$password = read-host -prompt "Enter your Password" 
write-host "$password is password"
$secure = ConvertTo-SecureString $password -force -asPlainText
$bytes = ConvertFrom-SecureString $secure
$bytes | out-file C:\encrypted_password1.txt

主要内容:

$securePass = Get-Content C:\encrypted_password1.txt
$pass = $securePass | ConvertTo-SecureString
plink -batch -ssh $defUser@$srv -pw $pass
putty -ssh $defUser@$srv -pw $pass

最佳答案

如您所知,您不能为 PuTTY/Plink 使用加密密码 (SecureString)。

您所能做的就是解密安全字符串并将解密的纯文本密码传递给 PuTTY/Plink。

解密见PowerShell - Decode System.Security.SecureString to readable password :

$securePass = Get-Content C:\encrypted_password1.txt
$pass = $securePass | ConvertTo-SecureString

$Ptr = [System.Runtime.InteropServices.Marshal]::SecureStringToCoTaskMemUnicode($pass)
$decrypted = [System.Runtime.InteropServices.Marshal]::PtrToStringUni($Ptr)
[System.Runtime.InteropServices.Marshal]::ZeroFreeCoTaskMemUnicode($Ptr)
plink -batch -ssh $defUser@$srv -pw $decrypted

PuTTY 0.77 Plink 新支持-pwfile switch这允许更安全的方式通过本地文本文件(仍然是纯文本)传递密码。


您的问题 2) 没有任何意义。你写道你不能使用 key 。所以你不能使用 -i 开关。更不用说使用一些“生成的密码”了。

关于powershell - Plink/PuTTY 使用加密密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47069785/

57 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com