SSH経由でリモートサーバーにコマンドを送信します。
ssh raja@remote_host "telnet 192.168.56.101 8080"
CTRLしかし、私たち全員は、Telnetを終了するには+を使用してTelnetプロンプトに戻り、^]終了入力を使用する必要があることを知っています。
しかし、他のツールやプログラムを使用せずにこれをどのように実行できますかxdotool
?
答え1
他のSSHセッションでこのようなことを試してみましたか?
ssh raja@remote_host "ps -ef | grep telnet | grep 8080 | grep -v grep | awk '{print $2}' | xargs kill"
カスケードコマンドを使用する理由は、grep
実際に終了したいセッションに関係なく、他のTelnetセッションが誤って終了するのを防ぐためです。
答え2
Telnetの代わりにBashシェルを使用して同じ目的を達成できます。
ssh user@remote_host bash -c 'printf "some_command\r\n" > /dev/tcp/192.168.56.101/8080'