서버 측에서:(@ip(예: 10.0.0.3))
다음과 같은 간단한 스크립트를 고려해 보십시오 script.sh
./home/user/script.sh
#!/bin/bash
echo good
script.sh
위 스크립트를 실행하기 위해 xinetd 아래에 xinetd라는 새 서비스를 생성해 보겠습니다 /etc/xinetd.d/script.sh
.
service script.sh # Name from /etc/services;
{
server = /home/user/script.sh # The service executable
server_args = ANY_ARGS_HERE # Any arguments; omit if none
user = USER # Run the service as this user
socket_type = TYPE # stream, dgram, raw, or seqpacket
wait = nO # yes = single-threaded, no = multithreaded
}
그런 다음 이 서비스를 다음에 추가합니다 /etc/services
.
script.sh 3376/tcp
마지막으로 xinetd를 다시 시작하십시오:service xinetd restart
클라이언트 측에서:
이제 서버의 서비스를 사용하여 script.sh
원격으로 실행 하고 싶습니다. script.sh
다음과 같이 보일 수 있습니다:script.sh 10.0.0.3 3376/tcp
내 질문은 다음과 같습니다.
서버에서 이 스크립트를 실행하고 클라이언트에서 결과를 얻으려면 클라이언트에 어떤 구성이 필요합니까?
답변1
/etc/services
및 에서 정의한 포트에 연결합니다 /etc/xinetd
. 따라서 서비스를 호스팅하는 원격 서버라고 가정하면 10.0.0.3
다음 명령 중 하나가 작동할 수 있습니다.script.sh
nc 10.0.0.3 3376
telnet 10.0.0.3 3376
원격 서버에서 방화벽을 실행하는 경우 3376/tcp에서 들어오는 세션을 위해 방화벽에 구멍을 뚫어야 합니다. 어떤 방화벽을 실행하고 있는지 알지 못한 채 이에 대한 솔루션을 제공하는 것은 현명하지 않습니다. (질문을 업데이트하고 싶다면 저나 다른 사람이 해결책을 제공할 수 있습니다.)