문제

기본적으로 기계의 프로세스를 따라야한다는 점을 제외하고는 PSTREE와 같은 명령을 작성하려고합니다.

내 말은 내가 이것을 실행하면 :

$ ssh $node sleep 1000

그런 다음 명령은 다음과 같은 내용을 표시해야합니다.

ssh $node -- ($node) sleep 1000

그리고 내가 달리고 있다면 :

$ ssh $node ssh $node sleep 1000

ssh $node---($node) ssh $node---($node) sleep 1000

등등 ...

내 질문은 이것입니다 : 한 컴퓨터의 한 SSH 세션을 다른 컴퓨터의 스폰 된 프로세스에 어떻게 매핑 할 수 있습니까?

로컬 부모-자식 프로세스는 문제가되지 않지만 다른 노드에서 다른 프로세스를 트리거 한 한 노드의 SSH 명령을 어떻게 파악할 수 있습니까?

  1. 리눅스 2.6.18

  2. "원격"물건에 대한 Openssh 만 있습니다. 현재 OpenSSH_4.3P2 실행 중입니다.

  3. 물론 모든 노드에 대한 SSH 액세스 (키 기반 인증)는 모든 노드에서 PS 및 NetStat를 사용할 수 있습니다.

  4. Linux 전용 "Hacks"는 괜찮습니다. 물론 추가 보너스 일 것이지만 휴대용 일 필요는 없습니다.

  5. 사용자는 항상 동일하며 내 명령/스크립트가 해당 사용자로 실행됩니다. 그 사용자는 루트가 아닙니다.

  6. 빠를 필요는없고 정확합니다.

자발적인 해결책은 a를 쓰는 것입니다 pstree 클론, 명령 문자열에서 트리거 "ssh", 소스 포트를 파악한 다음 문제의 원격 기계로 가서 어느 쪽을 알아냅니다. sshd이 특별한 명령에 의해 산란 된 아이들.

하지만 더 영리한 방법이 있습니까? :피

도움이 되었습니까?

해결책

실제로 자발적인 솔루션이 올바른 방법이라고 생각합니다. Netstat를 사용하여 소스 포트를 가져 와서 원격 시스템에서 찾으십시오. 루트가없는 "Netstat -P"를 사용하는 데 어려움이있을 수 있습니다. 두 대의 기계에서 시도해 보았습니다. 하나는 나 자신의 프로세스를 보여주는 것이 기뻤습니다.

SSH 클라이언트뿐만 아니라 RSYNC 또는 Mercurial과 같은 SSH 연결을 사용하는 다른 클라이언트를 찾도록이를 확장 할 수 있습니다. 프로그램 자신의 연결을 재귀 적으로 추적하지 않도록주의하십시오!

Netstat 및 PSTREE를위한 빠른 실험은 아이디어가 건전하다는 것을 보여줍니다.

me@mymachine:~$ netstat -p
(Not all processes could be identified, non-owned process info
 will not be shown, you would have to be root to see it all.)
Active Internet connections (w/o servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 mymachine.example:43681 remote.example.com:ssh ESTABLISHED 27044/ssh
tcp        0      0 mymachine.example:39228 remote.example.com:ssh ESTABLISHED 14499/ssh
tcp        0      0 mymachine.example:45814 remote.example.com:ssh ESTABLISHED 20899/ssh
 me@mymachine:~$ ssh remote netstat -p | grep mymachine.example:43681
tcp        0      0 remote.example.com:ssh mymachine.example:43681 ESTABLISHED 10361/1
me@mymachine:~$ ssh remote pstree -a 10361
sshd
  `-grep -n -e wotsit -i -R /local/home/me/somewhere /dev/null

나는 그것이 나에게 매우 유용 할 것이기 때문에 결과를보고 싶을 것입니다!

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top