Windows SSH ProxyCommand /usr/bin/bash: строка 0: exec: nc: не найден в git bash

Я пытаюсь подключиться к серверу по SSH через промежуточный узел перехода в Windows Git Bash, но получаю следующую ошибку.

/ usr / bin / bash: строка 0: exec: nc: не найдено

      $ ssh -vnNT -L 2555:destination-server.com ubuntu@x.amazonaws.com -o "ProxyCommand=nc -X 5 -x proxy.abc.com:4850 %h %p"

OpenSSH_8.8p1, OpenSSL 1.1.1l  24 Aug 2021
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Executing proxy command: exec nc -X 5 -x proxy.abc.com:4850 x.amazonaws.com 22
debug1: Local version string SSH-2.0-OpenSSH_8.8
/usr/bin/bash: line 0: exec: nc: not found *********************************** => ERROR LINE
kex_exchange_identification: Connection closed by remote host
Connection closed by UNKNOWN port 65535

Как я могу исправить эту ошибку?

1 ответ

Причина в том, что Git Bash для Windows не имеет nc (netcat)команда.

В качестве обходного пути замените:

      nc -X 5 -x proxy.abc.com:4850 %h %p

с

      connect -S proxy.abc.com:4850 %h %p

Таким образом, последняя команда будет:

      ssh -vnNT -L 2555:destination-server.com ubuntu@x.amazonaws.com -o "ProxyCommand=connect -S proxy.abc.com:4850 %h %p"

Даже если вы используете ncиз файла конфигурации ssh вы можете заменить nc -X 5 -xс connect -S, и это должно работать.

Пример:

Заменять

с

Другие вопросы по тегам