通过 xinetd 运行 sock4 (ssh -D)

通过 xinetd 运行 sock4 (ssh -D)

我需要能够运行 socks4 服务器(最好通过 ssh -D)我无法为 xinetd 整理配置文件,有人可以帮我吗?谢谢!

答案1

这很简单。试试这个。如果您在权限分离方面遇到问题,您需要创建一个小脚本来创建 /var/run/sshd,并对其进行 chmod 0755,然后调用ssh $*

service ssh
{
   socket_type = stream
   protocol = tcp
   wait = no
   user = root
   server = /usr/sbin/sshd
   server_args = -i
   port = 22

}

编辑。第一次我完全误读了这个问题,并假设您只是希望 sshd 在隧道远端的 xinetd 中运行,因此当您需要隧道时它就会被唤醒。相反,您真正想要的是一种让 ssh 客户端在您需要代理隧道时被唤醒并自动启动隧道以供使用的方法。

service socks-proxy
{
    disable         = no
    socket_type     = stream
    wait            = no
    user            = root
    server          = /usr/bin/ssh
    server_args     = -D 1234 -i /path/to/ssh-key -f remoteuser@remotehost 
    log_on_failure  += USERID
}

然后将服务名称“socks-proxy”添加到 /etc/services。或者更改服务名称以匹配 /etc/inetd 中的现有服务以及您将使用的端口。您需要 ssh 密钥才能进行无密码身份验证。-f 应该将 ssh 分叉到后台。您可能需要稍微调整一下参数,但类似这样的操作应该可以正常工作。

相关内容