在 Start-Process 中添加一个命令,为 Plink 提供 "y" 输入
Prepend a command in Start-Process to provide "y" input to Plink
我看到了一个缓存服务器主机密钥的解决方案,方法是在 运行 其他 Plink 任务之前的脚本顶部添加命令。
& "echo y | C:\Program Files\PuTTY\plink.exe" -ssh -batch -i $PrivateKeyPath $username "exit" 2>&1
错误信息:
The term 'echoy| C:\ProgramFiles\PuTTY\plink.exe' is not recognized as the name of a cmdlet,...
因此删除了管道符号之前的空格,因此无法识别该命令。
我的另一个尝试是使用 Start-Process
,但我不知道如何将 echo y |
添加到 plink.exe 路径。
Start-Process -FilePath 'C:\Program Files\PuTTY\plink.exe' -Argumentlist "-ssh -batch -i $PrivateKeyPath $username $command 2>&1"
是否可以选择在 -FilePath
前添加内容?
& "echo y | C:\Program Files\PuTTY\plink.exe"
使 echo y |
成为可执行文件路径的一部分。
改变这个:
& "echo y | C:\Program Files\PuTTY\plink.exe" -ssh -batch -i $PrivateKeyPath $username "exit" 2>&1
进入这个:
echo 'y' | & 'C:\Program Files\PuTTY\plink.exe' -ssh -batch -i $PrivateKeyPath $username "exit" 2>&1
不要盲目地对 Plink 主机密钥验证提示回答“y”。您失去了针对 man-in-the-middle attacks.
的保护
您应该使用 -hostkey
switch 和您的主机密钥指纹。
与 pscp
类似:
我看到了一个缓存服务器主机密钥的解决方案,方法是在 运行 其他 Plink 任务之前的脚本顶部添加命令。
& "echo y | C:\Program Files\PuTTY\plink.exe" -ssh -batch -i $PrivateKeyPath $username "exit" 2>&1
错误信息:
The term 'echoy| C:\ProgramFiles\PuTTY\plink.exe' is not recognized as the name of a cmdlet,...
因此删除了管道符号之前的空格,因此无法识别该命令。
我的另一个尝试是使用 Start-Process
,但我不知道如何将 echo y |
添加到 plink.exe 路径。
Start-Process -FilePath 'C:\Program Files\PuTTY\plink.exe' -Argumentlist "-ssh -batch -i $PrivateKeyPath $username $command 2>&1"
是否可以选择在 -FilePath
前添加内容?
& "echo y | C:\Program Files\PuTTY\plink.exe"
使 echo y |
成为可执行文件路径的一部分。
改变这个:
& "echo y | C:\Program Files\PuTTY\plink.exe" -ssh -batch -i $PrivateKeyPath $username "exit" 2>&1
进入这个:
echo 'y' | & 'C:\Program Files\PuTTY\plink.exe' -ssh -batch -i $PrivateKeyPath $username "exit" 2>&1
不要盲目地对 Plink 主机密钥验证提示回答“y”。您失去了针对 man-in-the-middle attacks.
的保护您应该使用 -hostkey
switch 和您的主机密钥指纹。
与 pscp
类似: