No OpenSSH, o modo detalhado ( ssh -v ...
) mostra algumas estatísticas úteis sobre a saída (por exemplo Transferred: sent 3532, received 3076 bytes, in 5.5 seconds
, ). No entanto, o modo detalhado também imprime muitas debug1: ...
linhas com as quais não me importo. Por exemplo:
$ ssh -v -N -D localhost:12345 [email protected]
OpenSSH_8.2p1 Ubuntu-4ubuntu0.2, OpenSSL 1.1.1f 31 Mar 2020
debug1: Reading configuration data /home/user/.ssh/config
debug1: /home/user/.ssh/config line 5: Applying options for *
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: include /etc/ssh/ssh_config.d/*.conf matched no files
debug1: /etc/ssh/ssh_config line 21: Applying options for *
--- snip ---
debug1: channel 0: free: port listener, nchannels 4
debug1: channel 1: free: port listener, nchannels 3
debug1: channel 2: free: port listener, nchannels 2
debug1: channel 3: free: port listener, nchannels 1
Transferred: sent 3532, received 3076 bytes, in 5.5 seconds
Bytes per second: sent 638.4, received 556.0
debug1: Exit status 0
Como removo todas as debug1: ...
linhas para mostrar apenas as estatísticas de uso de dados? Eu só quero ver as linhas Transferred: ...
e . Bytes per second: ...
Eu tentei ssh -v ... 2>&1 | sed '/debug1/d'
, mas isso não funciona porque Ctrlcproduz um SIGINT que é enviado para todos os processos do grupo de processos em primeiro plano. sed
é encerrado antes que as estatísticas de uso sejam enviadas para sua entrada padrão, portanto, as estatísticas de uso nunca são impressas.
Estou usando /bin/sh
(não bash) como meu shell.
As mensagens "transferidas..." são impressas no nível de log "detalhado". Você pode definir ssh para o nível "verbose" usando a opção "-o LogLevel" :
Você pode definir isso em seu
.ssh/config
arquivo se quiser que isso aconteça automaticamente: