명령 출력이 약 5 줄 이상인 경우 SSH


11

여기 에이 질문을하는 것이 좋습니다 : 현재 겪고있는 다음 문제로 당황합니다.
이더넷 케이블을 통해 데비안 5.0 리눅스 서버를 DSL 라우터에 연결했습니다. 랩탑이 Windows 7을 실행 중이며 동일한 DSL 라우터에 무선으로 (802.11b / g) 연결되어 있습니다. Putty를 사용하여 서버에 SSH를 연결하고 여러 줄의 출력을 생성하는 명령을 실행하려고하면 SSH 세션이 정지됩니다. 전의.

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

위의 모든 명령은 서버에서 직접 실행하거나 랩톱의 연결을 유선 연결로 변경하면 작동합니다. 무엇을 제공합니까? 이 문제는 정말 당황 스럽습니다! 감사


StackOverflow에서 이것을 묻고 싶을 수도 있지만 vi가 실제로 색칠하지 않는 한 특수 문자 (색상)에 문제가있는 것처럼 들립니다 (실제로 vim이 아닌 한).
Topher Fangio

그는 않았다 에 StackOverflow에 물어하지만, 아마에 Serverfault로 이동 좋을 것이다 ... 내가 에이단과 함께 있어요 : 내 첫 번째 용의자는 네트워크 MTU이었다.
dmckee --- ex-moderator 고양이

그래, 하, 하, 아,에 Serverfault하지 StackOverflow의는 ... 그건 월요일 = P
토퍼 판지오

답변:


9

유선 MTU 문제처럼 들립니다. 약간...

점보 프레임을 활성화했을 수 있습니까? 아마 아닐 것입니다. 어쨌든- 데비안에서 mtu낮추고 도움이되는지보십시오.


둘째; 이것은 MTU 문제처럼 들립니다. 오류가 발생하거나 패킷이 삭제 될 때까지 더 큰 패킷을 시도하는 것이 좋습니다 (핑을 사용하여 쉽게 수행). 또는 그냥 어디서나 MTU 설정을 확인하십시오 :)
MikeyB 2009

고마워요! 랩톱에서 MTU를 낮추면 트릭이 완료됩니다. MTU가 발신자 / 수신자 / 모두에게 적용됩니까? 더 큰 데이터 크기의 랩톱에서 서버를 핑 할 수 있습니다. 그 반대는 사실이 아니었다. Linux 서버 : ~ # ping -S 5000 athlon64-laptop.lan PING athlon64-laptop.lan xxx (x)에서 64 바이트의 데이터 64 바이트 : icmp_seq = 1 ttl = 128 time = 2.71 ms Windows 랩탑> ping -l 2048 athlon64x2-server.lan 2048 바이트의 데이터가있는 athlon64x2-server.lan 핑 : 요청 시간이 초과되었습니다. > ping -l 1048 athlon64x2-server.lan 1048 바이트의 데이터로 athlon64x2-server.lan 핑 핑 : xxxx로부터 응답 : bytes = 1048 time = 3ms TTL = 64

@ leftbrainlogic-mtu의 문제는 네트워크에 비린내가 있음을 나타냅니다. 어쩌면 액세스 포인트가 빠른 이더넷을 위해 허용되는 최대 [1500B] 프레임을 통과하지 못합니까? 점보 프레임을 사용하도록 서버를 수동으로 구성 했습니까?
pQd 2009

@pQd-아니, 서버는 데비안 5.0의 바닐라 설치를 실행 중이다. : 나는 여기은 ifconfig -a에서 디스크 파티션 및 호스트 이름 출력을 제외한 모든 기본값을 받아 pastebin.com/f78fcbf3d

@leftbrainlogic-ok; 내 링크에 설명 된대로 mtu를 낮추십시오. 1500B는 표준 길이이며 스위치, 액세스 포인트 또는 Wi-Fi 네트워크 카드에 문제가 있음을 나타냅니다.
pQd 2009

3

네트워크 연결의 MTU에 문제가있을 수 있습니다. Linux 서버가 단일 네트워크 패킷으로 너무 많은 바이트의 데이터를 보내려고하면 라우터가 패킷 크기가 무선 네트워크를 통해 보내기에는 너무 큽니다. 리눅스 박스에서 이더넷 인터페이스의 MTU를 줄일 수 있어야하며, 이는 아마도 문제를 해결할 것입니다.

진단하려면 ping -s <packetsize> <windows-ip> linux 상자에서 Windows 시스템의 IP로, 그리고 ping <linux-ip> <packetsize>windows 상자에서 linux로, packetize 매개 변수에 다른 값을 사용하여 최대 크기가 어느 방향으로 다른지 확인하십시오.

또한 : man ping리눅스에서 무슨 일이 일어나고 있는지 이해하는 데 도움이 될 것입니다.


0

가장 먼저해야 할 일은 클라이언트와 서버 모두에서 디버그 모드를 활성화하는 것입니다.

PuTTY에는 세션-> 로깅 아래에서 사용 가능한 내장 디버깅이 있습니다 . 로깅 설정을 설정하기 전에 사용하려는 세션을로드해야합니다. 로깅 설정은 세션 구성의 일부입니다.

서버에서 LogLevel을 INFO (in /etc/ssh/sshd_config) 로두고 문제와 관련된 것을 볼 수없는 경우에만 DEBUG로 변경할 수 있습니다. 변경 사항을 적용하려면 ssh 서버를 로그 아웃 한 후 다시 시작하십시오 ( /etc/init.d/ssh restart). DEBUG가 유용한 정보를 제공하지 않으면에 따라 DEBUG3을 시도하십시오 man sshd_config.

발견 한 내용으로 질문을 업데이트하십시오!

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.