SSH経由でTelnetを実行する方法は?

SSH経由でTelnetを実行する方法は?

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'

他の例:Grep正規表現StdoutをTelnetにmemcachedに設定されているすべてのキーを取得する

関連情報