コマンドラインから正常に機能するsshトンネル接続があります。
ssh -f -N -L 4444:to.somewhere.com:80 [email protected] -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でこのpoortに接続して、メッセージを取得しようとします。
バインド:アドレスはすでに使用されています
lsof-iもnetstat-aも、フォアハンドに開いている4444を表示しません。
その理由は、xinitdがポートにバインドし、sshがそれを使用しようとすると、ポートはすでに使用されているためです。 xinetdを使用するには、子プロセスでstdin/stdoutと通信する必要があります。
Xinetdを使用してsshトンネルを管理する方法のポインタは次の場所にあります。