Warm tip: This article is reproduced from serverfault.com, please click

windows-SSH和SCP失败,并显示“ CreateProcessW失败错误:2 posix_spawn:没有此类文件或目录”

(windows - SSH and SCP failed with "CreateProcessW failed error:2 posix_spawn: No such file or directory")

发布于 2020-11-29 10:45:27

我正在尝试对AWS托管实例执行SSH和SCP。我的机器的公钥存储在该托管实例中。不需要.pem文件。我正在使用以下命令。

   scp -r  username@instance-id:/pathtoremotefile localpath
   scp localfilepath  username@instance-id:~
   ssh  username@instance-id

但是这些都不在Windows中工作。错误显示“ CreateProcessW失败错误:2 posix_spawn:没有这样的文件或目录失去连接”。我要提到的是,我可以使用此命令启动到该实例的ssm会话

   aws ssm start-session --target instance-id.

受管实例具有linux操作系统,而我的电脑具有Windows。另外,在.ssh目录的配置文件中,我添加了以下几行。

 host i-* mi-*
ProxyCommand sh -c "aws ssm start-session --target %h --document-name AWS-StartSSHSession --parameters 'portNumber=%p'"

奇怪的是,我可以使用相同的命令在同一台计算机的“ Linux的Windows子系统”中同时执行ssh和SCP。但是无法在Windows命令提示符下执行此操作。我究竟做错了什么?

Questioner
Jass
Viewed
12
jeb 2020-12-01 18:48:07

这似乎是Windows openSSH软件包的问题。在ProxyCommands中,它请求完整路径限定符,但最好在此处使用正斜杠!

ProxyCommand C:/somepath/sh.exe -c "aws ssm ...

我不再使用Windows openSSH,而是使用git-bash中的ssh命令来避免所有Windows问题。
密钥代理可以完美运行,proxyCommand / proxyJumps可以正常运行,并且与Windows相比,它是可靠的。