1

I am trying to SSH to a server via an intermediately jump host on Windows Git Bash but I get the following error.

/usr/bin/bash: line 0: exec: nc: not found

$ 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

How can I resolve this error?

Sapnesh Naik
  • 11,011
  • 7
  • 63
  • 98

1 Answers1

5

The reason is that Git Bash for Windows has no nc (netcat) command.

As a workaround please replace:

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

with

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

So the final command would be:

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

Even if you're using nc from an ssh config file, you can replace nc -X 5 -x with connect -S, and it should work.

Example:

Replace

Replace

with

working command

Sapnesh Naik
  • 11,011
  • 7
  • 63
  • 98