SSH 터널 중에 netcat의 로그를 확인하는 방법

SSH 터널 중에 netcat의 로그를 확인하는 방법

3개 시스템(A->B->C)에서 SSH 터널을 실행하는 동안 트래픽 전달을 위해 netcat을 사용하고 있습니다. 호스트 A가 호스트 B에서 실행하는 에이전트 명령은 다음과 같습니다.

/usr/bin/ssh host_B nc localhost 19999

그리고 Host_B:19999와 Host_C:22 사이에는 터널이 있습니다.

netcat이 무엇을 하는지 알고 싶습니다. netcat 로그 파일은 어디에 있습니까? A에서 다음 프록시 명령을 실행해 보았습니다.

/usr/bin/ssh host_B nc -vv localhost 19999 > log.txt 2>&1

하지만 항상 호스트 A에서 "ssh_exchange_identification: 원격 호스트에 의해 연결이 닫혔습니다"라는 메시지가 표시됩니다.

감사해요,

답변1

Netcat은 아무것도 기록하지 않습니다.

netcat의 출력을 파일로 리디렉션하면 해당 출력이 프로세스로 이동해야 하므로 설정이 중단됩니다 ssh. 리디렉션을 설정하면 원격 호스트에서 보낸 데이터가 log.txt클라이언트 대신 클라이언트로 전송됩니다. 오류만 기록하려면 를 사용하세요 2>log.txt.

netcat으로 전송된 모든 데이터를 파일로 덤프하려면 해당 데이터를 복사해야 합니다.

unbuffer tee input.data | nc localhost 19999 | unbuffer tee output.data

관련 정보