如何最好地找到由 SYSTEM 运行的 powershell 脚本的 openssh 凭据

如何最好地找到由 SYSTEM 运行的 powershell 脚本的 openssh 凭据

我有一个 powershell 脚本,格式如下

$commands = @"
    echo "1 + 2" | bc
"@

$commands | ssh [email protected]

现在我正在做的是提前设置一次 ssh 密钥,但问题是我的脚本的调用者是在 SYSTEM 用户空间中运行的服务,这反过来意味着我的 ssh 密钥都没有生成或被administrator使用user1234令人恼火的是,这实际上导致 powershell ssh 客户端挂起。

最好的解决方案是什么?有人能提供一些代码来帮助我开始吗?

  1. 我可以做一些 powershell runasfoo 在用户之间切换,为我提供一种 ssh 的用户“硬点”
  2. 我可以将 ssh 密钥从其默认位置移出~/.ssh,但我真的不知道这里什么是安全的,什么不是安全的
  3. 我可以以高昂的运营成本停止以 SYSTEM 用户身份使用服务,并尝试在每次进入办公室时以用户身份运行该服务。

非常感谢!

相关内容