Menutup koneksi telnet dengan anggun dari mode sesi itu sendiri tanpa pergi ke telnet prompt

16

koneksi telnet normal seperti ini:

telnet localhost 22
Mencoba 127.0.0.1 ...
Terhubung ke localhost.
Karakter melarikan diri adalah '^]'.
SSH-2.0-OpenSSH_4.2
^]
telnet> tutup
Koneksi ditutup.

Saya ingin menutupnya dari sesi telnet itu sendiri tanpa datang ke telnet prompt dengan menekan. Persyaratan saya adalah jika saya menekan beberapa karakter kontrol dari sesi telnet itu sendiri seperti CTRL + A sehingga akan keluar dari sesi dan menutupnya secara otomatis. sesuatu seperti ini:

$ telnet localhost 22
Mencoba 127.0.0.1 ...
Terhubung ke localhost.
Karakter melarikan diri adalah '^]'.
SSH-2.0-OpenSSH_4.2
^ A
Koneksi ditutup.
$

Saya mencoba semua opsi yang diberikan di halaman manual dan mencoba melakukan beberapa tes file $ HOME / .telnetrc tetapi tidak dapat mencapainya, karena telnetrc akan mengeksekusi semua perintah yang ditulis di dalamnya dengan host yang diberikan setiap kali telnet ke host tersebut selesai

Adakah yang bisa membantu saya dalam hal ini, seperti bagaimana hal itu dapat dicapai.

Kumar Alok
sumber
itu sangat
untuk menggunakan exit juga saya harus datang ke telnet prompt terlebih dahulu. Baik. sementara persyaratan saya adalah untuk menutup pr koneksi keluar dari mode sesi tanpa datang ke telnet prompt (yaitu untuk datang ke telnet prompt saya harus terlebih dahulu mengirim karakter escape dan kemudian saya bisa melakukan close atau exit).
Kumar Alok
@ Paul: Saya tidak mengerti. dapatkah Anda memberi tahu saya di mana saya dapat menemukan solusinya?
Kumar Alok
3
Bisakah Anda jelaskan mengapa orang menginginkan ini? Telnet hanyalah program klien untuk terhubung ke beberapa layanan sewenang-wenang di beberapa mesin. Jika Anda menggunakan port 23 Anda terhubung ke layanan telnet dan dapat mengakhiri login Anda dengan exit, tetapi ini adalah perintah shell, bukan perintah telnet. Anda harus pergi ke prompt telnet untuk mengakhiri koneksi jika layanan yang Anda hubungi tidak menawarkan perintah untuk mengakhiri koneksi. Jika Anda ingin masuk ke mesin jarak jauh melalui ssh gunakan sshperintah, tidak telnet(kecuali jika Anda ingin melakukan enkripsi manual).
Benjamin Bannier

Jawaban:

33

Tidak, telnetklien (saya kira Anda bertanya tentang Linux) hanya mendukung satu karakter pelarian, Ctrl]( ^]).

Jika Anda hanya menggunakan telnetuntuk membuat koneksi TCP sewenang-wenang, pertimbangkan untuk menggunakan netcatatau socatsebaliknya; ini dapat terganggu hanya dengan menekan CtrlC.

pengguna1686
sumber
9
Untuk pengikut, Anda tahan ctrl, lalu tekan tombol "braket kanan", lalu tekan enter. Ini akan merespon dengan prompt seperti telnet>dan Anda dapat mengetik quitdan menekan enter untuk keluar dari sesi Anda. Fiuh!
rogerdpack
@rogerdpack Terima kasih. Itu cara untuk keluar di OSX.
chhantyal
Bagaimana jika saya menggunakan lokal tempat tata letak keyboard mereka memiliki braket yang tepat di bawah alt- <beberapa tombol lain>? ctrl-alt- <kunci lainnya> tidak berfungsi.
user628418
Kemudian Anda mengganti tata letak keyboard, atau menggunakan keyboard di layar ...
user1686
-4

Bagaimana dengan CTRL+ lama yang baik D, alias EOF?

kdo
sumber
1
itu hanya akan berfungsi jika ditangani di sisi server sesi. Yang tidak benar secara umum (dan juga tidak benar dalam disebutkan koneksi 22 port ssh).
Andrey Regentov