SSH jika output perintah lebih dari sekitar 5 baris


11

Saya disarankan untuk mengajukan pertanyaan ini di sini: Saya bingung dengan masalah berikut yang saat ini saya alami.
Saya memiliki server Linux Debian 5.0 yang terhubung melalui kabel ethernet ke router DSL saya. Laptop saya menjalankan Windows 7 dan terhubung secara nirkabel (802.11b / g) ke router DSL yang sama. Jika saya SSH ke server menggunakan Putty dan mencoba untuk mengeksekusi perintah yang menghasilkan beberapa baris output sesi SSH saya membeku. Ex.

ls -al /             // Freezes
ls -al / > ~/boo.txt // OK
vi ~/boo.txt         // OK
top                  // Freezes

Semua perintah di atas berfungsi jika saya menjalankannya langsung di server atau jika saya mengubah koneksi laptop saya ke koneksi kabel. Apa yang menyebabkannya? Masalah ini benar-benar membingungkan saya! Terima kasih


Mungkin ingin menanyakan hal ini pada StackOverflow, tetapi sepertinya ini akan menjadi masalah dengan karakter khusus (mungkin warna) karena vi tidak melakukan pewarnaan apa pun (kecuali sebenarnya itu vim).
Topher Fangio

Dia memang menanyakannya di StackOverflow, tetapi mungkin akan lebih baik memindahkannya ke ServerFault ... dan saya dengan Aidan: tersangka pertama saya adalah MTU jaringan.
dmckee --- ex-moderator kitten

Ah ha ha, Ya, ServerFault, bukan StackOverflow ... ini adalah hari Senin = P
Topher Fangio

Jawaban:


9

terdengar seperti masalah MTU kabel. sedikit...

apakah mungkin Anda memiliki jumboframes diaktifkan? mungkin tidak. lagi pula - coba atur mtu lebih rendah pada debian dan lihat apakah itu membantu.


Diperbantukan; ini terdengar seperti masalah MTU. Saya sarankan mencoba paket yang lebih besar dan lebih besar (mudah dilakukan menggunakan ping) sampai Anda mendapatkan kesalahan / paket yang jatuh. Atau hanya memeriksa pengaturan MTU di mana-mana :)
MikeyB

Terima kasih banyak orang! Turunkan MTU pada laptop sudah cukup. Apakah MTU berlaku untuk pengirim / penerima / keduanya? Saya bisa melakukan ping server dari laptop dengan ukuran data yang lebih besar. Kebalikannya tidak benar. Server Linux: ~ # ping -S 5000 athlon64-laptop.lan PING athlon64-laptop.lan 56 (84) byte data 64 byte dari xxxx: icmp_seq = 1 ttl = 128 waktu = 2.71 ms Pada laptop windows> ping -l 2048 athlon64x2-server.lan Pinging athlon64x2-server.lan dengan 2048 byte data: Batas waktu permintaan. > ping-l 1048 athlon64x2-server.lan Pinging athlon64x2-server.lan dengan 1048 byte data: Membalas dari xxxx: byte = 1048 waktu = 3ms TTL = 64

@leftbrainlogic - masalah dengan mtu indcate bahwa ada sesuatu yang mencurigakan di jaringan Anda. mungkin accesspoint tidak lulus frame [1500B] terbesar yang diizinkan untuk ethernet cepat? apakah Anda mengkonfigurasi server secara manual untuk menggunakan jumboframes?
pQd

@ pQd - Tidak, server hanya menjalankan instalasi vanili dari Debian 5.0. Saya menerima semua default kecuali untuk partisi disk dan Output hostname dari ifconfig -a ada di sini: pastebin.com/f78fcbf3d

@leftbrainlogic - ok; coba turunkan MTU seperti yang dijelaskan dalam tautan saya. 1500B Anda sudah lama standar, saya pikir ini menunjukkan beberapa masalah dengan switch, jalur akses atau kartu jaringan wifi.
pQd

3

Mungkin ada masalah dengan MTU koneksi jaringan Anda - ketika server Linux mencoba mengirim terlalu banyak byte data dalam satu paket jaringan, mungkin router menolak untuk meneruskannya ke kotak windows, karena dianggap ukuran paketnya adalah terlalu besar untuk dikirim melalui jaringan nirkabel. Anda harus dapat mengurangi MTU untuk antarmuka Ethernet pada kotak linux, dan ini mungkin akan menyelesaikan masalah Anda.

Untuk mendiagnosis, coba ping -s <packetsize> <windows-ip> dari kotak linux ke IP mesin windows Anda, dan ping <linux-ip> <packetsize>dari kotak windows ke linux, dengan nilai yang berbeda untuk parameter packetsize, dan lihat apakah ukuran maksimum berbeda di kedua arah.

Juga: man pingdi linux akan sangat membantu untuk memahami apa yang terjadi.


0

Hal pertama yang harus dilakukan adalah mengaktifkan mode debug, baik pada klien maupun server.

Putty memiliki debugging bawaan yang tersedia di bawah Sesi -> Logging . Perhatikan bahwa Anda perlu memuat sesi yang akan Anda gunakan sebelum mengatur pengaturan Logging. Pengaturan log adalah bagian dari konfigurasi sesi.

Di server, Anda bisa membiarkan LogLevel ke INFO (masuk /etc/ssh/sshd_config) dan mengubahnya menjadi DEBUG hanya jika Anda tidak dapat melihat apa pun yang terkait dengan masalah Anda. Ingatlah untuk logout dan restart server ssh untuk menerapkan perubahan ( /etc/init.d/ssh restart). Jika DEBUG tidak memberikan informasi yang berguna, coba DEBUG3, sesuai man sshd_config.

Harap perbarui pertanyaan Anda dengan temuan Anda!

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.