Ssh
windows 10 ssh 代理命令:“posix_spawn:沒有這樣的文件或目錄”
我使用的是 Windows10,我需要使用 jumphost 來訪問我的 Linux 伺服器。因此,我已經
.ssh\config
像這樣配置了:Host jumphost HostName jumphost.server.local Host server*.server.local ProxyCommand ssh jumphost netcat -w 120 %h %p
但是當我執行
ssh server01.server.local -v
(dash-v for verbose)時,我收到以下錯誤:OpenSSH_for_Windows_7.7p1, LibreSSL 2.6.5 debug1: Reading configuration data C:\\Users\\admin/.ssh/config debug1: C:\\Users\\admin/ssh/config line 70: Applying options for server*.server.local debug1: Executing proxy command: exec ssh jumphost netcat -w 120 server01.server.local 22 CreateProcessW failed error:2 posix_spawn: No such file or directory
根據這個錯誤,修復是使用完整路徑。所以這是正確的行
.ssh/config
:ProxyCommand C:\Windows\System32\OpenSSH\ssh.exe jumphost netcat -w 120 %h %p
如需進一步開發,請參閱此問題:https ://github.com/microsoft/vscode-remote-release/issues/18
TL;博士
應該呼叫帶有副檔名的
ProxyCommand
ssh.exe
,例如:ProxyCommand ssh.exe -q -W %h:%p yyy
漫長的(?)故事
跑步
ssh -vvv XXX
節目:debug3: spawning "C:\\Windows\\System32\\OpenSSH\\ssh -q -W XXX:22 YYY" CreateProcessW failed error:2 posix_spawn: No such file or directory
根據
CreateProcess
MSDN 上的文件,我想是以某種方式posix_spawn
呼叫參數必須是精確和絕對路徑。指定後綴後,似乎是固定的。CreateProcess``lpApplicationName``.exe