Windows 10 ssh proxycommand: «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 (тире-v для подробностей), я получаю следующее ошибка:

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
9
задан 4 March 2019 в 11:33
5 ответов

Согласно этой ошибке исправление заключается в использовании полного пути. Итак, это правильная строка в .ssh / config :

  ProxyCommand  C:\Windows\System32\OpenSSH\ssh.exe jumphost netcat -w 120 %h %p

Для дальнейшего развития см. Этот выпуск: https://github.com/microsoft/vscode-remote-release/issues/ 18

9
ответ дан 2 December 2019 в 22:29

Так как netcat не доступен в системе по умолчанию, следующие две записи в .ssh/config добьются цели (предполагающий, что локальное имя пользователя и удаленное имя пользователя отличны).

login.bar: система для входа в систему
jump.bar: jumphost
<username>: имя удаленного пользователя на login.bar и jump.bar (если они - отличный < jumpuser> @jump.bar необходим). Если Вы опускаете < username> перед jump.bar взято локальное имя пользователя.

a)

Host foo
User <username>
HostName login.bar
ProxyCommand C:\Windows\System32\OpenSSH\ssh.exe -q -X -W %h:%p <username>@jump.bar

b)

Host foo
User <username>
HostName login.bar
ProxyCommand C:\Windows\System32\OpenSSH\ssh.exe -Y <username>@jump.bar -W %h:%p 

В обоих случаях входят в login.bar с: ssh foo

0
ответ дан 2 December 2019 в 22:29

TL; DR

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 суффикс, это, кажется, фиксируется.

2
ответ дан 2 December 2019 в 22:29

Я получил ту же ошибку, но это было из-за набора переменной среды ДИСПЛЕЯ к некоторому значению. После того как Вы сбрасываете ту переменную среды, ошибка ушла.

1
ответ дан 2 December 2019 в 22:29

Эта проблема связана с ошибкой в ​​реализации OpenSSH для Windows. Эта ошибка исправлена ​​в версии 8.1.0.0. Подробную инструкцию как пропатчить версию можно найти здесь

1
ответ дан 7 May 2020 в 11:09

Теги

Похожие вопросы