如何在不输入 y 的情况下使用 ssh-keygen 和 PowerShell 覆盖现有的 SSH 密钥文件

How to overwrite existing SSH key file using ssh-keygen and PowerShell without typing y

如果我想在不键入 y 的情况下覆盖现有的 SSH 密钥文件,那么我会在 bash:

中执行此操作
echo "y" | ssh-keygen -f /home/wakatana/id_rsa -N ""

如何使用 PowerShell 实现相同的目的?我试过以下方法:

Write-Host "y" | ssh-keygen.exe -f C:\Users\wakatana\Desktop\id_rsa -N """"

它不会显示 Overwrite (y/n)? 对话框,但我不会重写现有密钥。有什么问题?

尝试 Write-Output 而不是 Write-Host:

Write-Output "y" | ssh-keygen.exe -f .\test -N "blahblah"

如果文件已经存在,则在调用 ssh-keygen 之前删除该文件。

盲目地将 "yes" 发送到应用程序,而不知道它首先询问的是什么,这是非常危险的。