telnetプロンプトを表示せずにセッションモード自体からtelnet接続を正常に閉じる


16

通常のtelnet接続は次のようになります。

telnet localhost 22
127.0.0.1を試行しています...
ローカルホストに接続しました。
エスケープ文字は「^]」です。
SSH-2.0-OpenSSH_4.2
^]
telnet>閉じる
接続が閉じられました。

を押してtelnetプロンプトを表示せずに、telnetセッション自体からそれを閉じます。私の要件は、Ctrl + Aのようなtelnetセッション自体から制御文字を押すと、セッションから出て自動的に閉じることです。このようなもの:

$ telnet localhost 22
127.0.0.1を試行しています...
ローカルホストに接続しました。
エスケープ文字は「^]」です。
SSH-2.0-OpenSSH_4.2
^ A
接続が閉じられました。
$

私はマニュアルページで与えられたすべてのオプションを試し、$ HOME / .telnetrcファイルのテストを試みましたが、telnetrcはそのホストへのtelnetができた。

誰でもそれを達成する方法のように、これで私を助けることができますか?


それはとても複雑です。「終了」を使用しない

exitを使用する場合も、最初にtelnetプロンプトを表示する必要があります。正しい。私の要件は、接続を閉じるか、telnetプロンプトに到達せずにセッションモードを終了することです(つまり、telnetプロンプトに到達するには、最初にエスケープ文字を送信する必要があり、その後、閉じるか終了できます)。
クマールアロク

@ Paul:わかりません。どこで解決策を見つけることができますか教えてください。
クマールアロク

3
なぜこれが必要なのか説明できますか?Telnetは、マシン上の任意のサービスに接続するための単なるクライアントプログラムです。ポート23を使用する場合、telnet サービスに接続し、でログインを終了できますがexit、これはtelnetコマンドではなくシェルコマンドです。接続したサービスが接続を終了するコマンドを提供しない場合は、telnetプロンプトに移動して接続を終了する必要があります。ssh経由でリモートマシンにログインする場合は、sshコマンドを使用しますtelnet(手動で暗号化する場合を除く)。
ベンジャミンバニエ

回答:


33

いいえ、telnetクライアント(Linuxについて質問しているのではないかと思います)は、1つのエスケープ文字Ctrl]^])のみをサポートしています。

telnet任意のTCP接続を行うためだけに使用している場合はnetcatsocat代わりにまたはを使用することを検討してください。これらは単にを押すだけで中断できますCtrlC


9
フォロワーの場合は、Ctrlキーを押しながら「右ブラケット」キーを押してから、Enterキーを押します。次のようなプロンプトtelnet>が表示されquit、入力してEnter キーを押してセッションを終了できます。ふう!
ロジャードパック

@rogerdpackありがとう。OSXで終了する方法です。
シャンティアル

キーボードレイアウトがalt- <その他のキー>の下に右括弧があるロケールを使用している場合はどうなりますか?ctrl-alt- <他のキー>が機能していません。
user628418

次に、キーボードレイアウトを切り替えるか、オンスクリーンキーボードを使用します
...-user1686

-4

古き良きCTRL+ D、別名EOFはどうですか?


1
セッションのサーバー側で処理される場合にのみ機能します。これは一般的に当てはまりません(また、前述の22ポートssh接続でも当てはまりません)。
アンドレイレゲントフ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.