2012-10-29 3 views
0

일부 방화벽 테스트를 시뮬레이트하기 위해 두 개의 Linux 컴퓨터를 사용하고 있습니다 ... 원격 컴퓨터에서 을 실행하여 테스트를 실행합니다.이 경우 ssh을 생성하면 작동합니다. 그러나.명령이 head/netcat을 응답하지 않음

ssh -i id_dsa -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no \ 
    -p 2224 [email protected] nc -s 10.26.216.82 10.195.18.132 \ 
    21 < /var/log/messages 

, 내가 head -c 20 /var/log/messages와 함께 명령이 중단을 /var/log/messages의 양을 조절하려고하지만 이유를 이해하지 않는 경우 ...

ssh -i id_dsa -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no \ 
    -p 2224 [email protected] nc -s 10.26.216.82 10.195.18.132 \ 
    21 < head -c 20 /var/log/messages 

가 나는 또한 더 나은 성공이 시도 ...

ssh -i id_dsa -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no \ 
    -p 2224 [email protected] nc -s 10.26.216.82 10.195.18.132 \ 
    21 < (head -c 20 /var/log/messages) 

질문 : 왜 두 번째 명령이 멈추고 내가 필요한 것을 어떻게 수행 할 수 있습니까?

참고로,이 실험은 ... 당신이 나에게 SSH 세션을 통해 nc와 함께 일하는 것이 CLI를 줄 수 있다면 ... nc에 보너스 포인트를 cat /dev/urandom | base64 | head -c 20 -을 보내기위한 준비를 정말 머리를 사용하는

+0

'머리 -c (20)는/var/log/메시지를보십시오 | ssh ...'또는''ssh ...'head -c 20/var/log/messages'''' –

답변

2

<은 쉘 리디렉션이므로 명령을 실행하지 않고 파일에서 읽기 위해 입력 스트림을 리디렉션합니다. 시도 : nc에 로컬 컴퓨터에서

head -c 20 /var/log/messages | ssh -i id_dsa -o UserKnownHostsFile=/dev/null \ 
    -o StrictHostKeyChecking=no \ 
    -p 2224 [email protected] nc -s 10.26.216.82 10.195.18.132 21 

이 파이프를 /var/log/messages 원격 시스템에서. 원격 시스템에서 /var/log/messages 파일을 사용하려면 는 명령 주위에 따옴표를 사용

ssh -i id_dsa -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no \ 
    -p 2224 [email protected] "head -c 20 /var/log/messages |\ 
    nc -s 10.26.216.82 10.195.18.132 21" 
0

시도했다 - n 20 내 짐작으로 말하자면 캐리지 리턴이 부족하다는 것이 문제입니다.

+0

+ Mata가 맞습니다! 잘못된 구문! – thedayofcondor