You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在cmd.exe中通过PowerShell执行SSH sudo命令

问题:PowerShell命令在cmd.exe中执行触发权限拒绝

仅在PowerShell中可用的命令

该命令可正常执行,通过管道传递sudo密码,远程在目标机器的/etc目录下追加内容:

echo kali | ssh -t kali:kali@192.168.158.129  'sudo -S bash -c ""echo 123 >> /etc/123"" '

在cmd.exe中执行的失败命令及报错

在cmd中通过powershell -command调用上述命令时会失败:

powershell -command "echo kali | ssh -t kali:kali@192.168.158.129  'sudo -S bash -c ""echo 123 >> /etc/123"" '"

报错信息:

权限拒绝: /etc/123

解决方法

问题源于cmd环境下的引号转义规则与PowerShell不同,需将命令中的内部双引号改用\"转义,修正后的cmd命令如下:

powershell -command "echo kali | ssh -t kali:kali@192.168.158.129 'sudo -S bash -c \"echo 123 >> /etc/123\"' "

原命令中的""在cmd传递给PowerShell时无法被正确解析,导致远程执行的bash -c命令参数异常,使得sudo权限未正确应用,最终触发权限拒绝。

内容的提问来源于stack exchange,提问作者wgf4242

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 18:01:23