Bee*_*ege 26 powershell credentials remote-access sharpssh
我有一个Powershell脚本,它将通过针对多个服务器的自动化工具运行.它工作正常的Windows机器,远程调用使用该工具的服务帐户,而无需任何提示或代码暴露任何凭据.该脚本还使用SharpSSH软件包通过SSH对Linux机器运行.SharpSSH不会自动使用Powershell用户的凭据,但需要用户名和密码,RSA密钥文件或PSCredential对象.我无法使用Get-Credential提示凭据,因为它是通过自动化工具运行的.我不想在代码中公开用户名和密码,或者在那里放置一个RSA密钥.我想从当前Powershell的用户(服务帐户)构造一个PSCredential对象.试试[System.Net.CredentialCache] ::
有没有人有从当前用户创建PSCredential对象的方法?或者也许是这个问题完全不同的替代方案?
非常感谢!
Tay*_*ird 16
Windows API不会公开您需要的信息,这就是Powershell无法访问它们的原因.它是安全子系统的故意特征.这种方法的唯一方法是让Linux机器信任调用机器,例如将它们连接到Active Directory(或者真正的任何kerberos设置).
除此之外,您需要以某种方式存储和传递此信息.
您可以将RSA密钥存储在用户的密钥库中并在运行时(使用.NET Crypto/Keystore库)将其解压缩,因此您不会将密钥存储在代码中.这样,密钥本身将受到操作系统的保护,并且仅在主叫用户通过身份验证时才可用.你还有一件事需要安装,但可能是实现你的目标的唯一方法.
| 归档时间: |
|
| 查看次数: |
70864 次 |
| 最近记录: |