Unidades de tempo no Ncat, alternativa ao netcat post

Olá,

É comum o uso da ferramenta netcat com o ProxyCommand do SSH, que permite usar um servidor como bridge, útil quando precisamos conectar em uma máquina atrás de um firewall. Exemplo:

# Arquivo: ~/.ssh/config

Host computadordaempresa
  HostName 192.168.1.92 # O endereço IP que o firewall consegue enxergar
  User outrousuario
  IdentityFile ~/.ssh/id_rsa
  ProxyCommand ssh [email protected] nc -w 120 %h %p

Eu usava o netcat e funcionava perfeitamente. Então, precisei conectar em uma máquina em outra rede, e o firewall desta utilizava CentOS 7, e ao tentar utilizar a configuração acima eu recebi o seguinte erro:

Ncat: Since April 2010, the default unit for -w is seconds, so your time of "120" is 2.0 minutes. Use "120ms" for 120 milliseconds. QUITTING.

Eu não sabia, mas eu estava usando o Ncat ao invés do velho Netcat. Ainda não tive tempo de estudar as diferenças, porém uma é evidente. Todo parâmetro que um valor de tempo precisa ter a unidade. Em ncat --help:

$ nc --help
Ncat 6.40 ( http://nmap.org/ncat )
Usage: ncat [options] [hostname] [port]

Options taking a time assume seconds. Append 'ms' for milliseconds,
's' for seconds, 'm' for minutes, or 'h' for hours (e.g. 500ms).

Desta forma, minha configuração de SSH precisa ter a unidade de tempo (ms, s, m, h, etc) adicionada ao parâmetro -w:

  ProxyCommand ssh [email protected] nc -w 120m %h %p

Até mais.

Tags: linux, network

Comments

comments powered by Disqus