SSH 상세 모드: 모든 "debug1" 줄 없이 전송된 데이터의 양을 확인하는 방법은 무엇입니까?

SSH 상세 모드: 모든 "debug1" 줄 없이 전송된 데이터의 양을 확인하는 방법은 무엇입니까?

OpenSSH에서 상세 모드( ssh -v ...)는 종료 시 몇 가지 유용한 통계를 표시합니다(예 Transferred: sent 3532, received 3076 bytes, in 5.5 seconds: ). 그러나 verbose 모드는 debug1: ...내가 신경 쓰지 않는 많은 줄을 인쇄하기도 합니다 . 예를 들어:

$ 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

debug1: ...데이터 사용량 통계만 표시하기 위해 모든 행을 제거하려면 어떻게 해야 합니까 ? 그냥 Transferred: ...그리는 선을 보고 싶어요 Bytes per second: .... 이것을 시도했지만 포그라운드 프로세스 그룹의 모든 프로세스에 전송되는 SIGINT가 생성되므로 ssh -v ... 2>&1 | sed '/debug1/d'작동하지 않습니다 . 사용 통계가 표준 입력으로 전송되기 전에 종료되므로 사용 통계가 인쇄되지 않습니다.Ctrlcsed

/bin/sh나는 쉘로 (bash 아님)을 사용합니다 .

답변1

"전송됨..." 메시지는 "Verbose" 로그 수준에서 인쇄됩니다. 다음 명령을 사용하여 ssh를 "verbose" 수준으로 설정할 수 있습니다."-o LogLevel" 옵션:

% ssh -o LogLevel=verbose localhost echo hello
Authenticated to localhost ([::1]:22).
hello
Transferred: sent 2768, received 2880 bytes, in 0.0 seconds
Bytes per second: sent 117942.8, received 122715.1
% 

.ssh/config자동으로 발생하도록 하려면 파일에서 설정할 수 있습니다.

Host example.com
    LogLevel verbose

관련 정보