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
, и это должно работать.
Пример:
Заменять
с