我有一个 ssh 隧道连接,它可以从命令行正常工作;
ssh -f -N -L 4444:到.somewhere.com:80[电子邮件保护]-p 22
现在我尝试让此连接按需与 xinetd 连接。我已将此自定义端口放入 /etc/service (工具 4444/tcp),并在 /etc/xinetd.d 中创建了一个配置文件;
service tool
{
socket_type = stream
instances = 1
wait = no
user = root
server = /usr/bin/ssh
server_args = -f -N -L 4444:to.somewhere.com:80 [email protected] -p 22
port = 4444
disable = no
}
重新启动 xinetd 后,我尝试使用 wget 连接到该 portt 并获取消息;
绑定:地址已被使用
lsof -i 和 netstat -a 均未显示任何打开的 4444。
答案1
原因是 xinitd 将绑定到端口,当 ssh 尝试使用它时,该端口已被使用。要使用 xinetd,您应该使用子进程与 stdin/stdout 进行通信。
您可以在这里找到有关如何使用 xinetd 管理 ssh 隧道的指针: