我需要能够运行 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 分叉到后台。您可能需要稍微调整一下参数,但类似这样的操作应该可以正常工作。