在服务器端:(@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 上的传入会话。在不知道您正在运行哪个防火墙的情况下,为此提供解决方案是不明智的。 (如果您想更新您的问题,那么我或其他人可以提供解决方案。)