SSH는 압축을 사용합니까?


44

궁금합니다. SSH가 데이터를 보내거나 받기 전에 데이터를 압축합니까? 기본적으로 설정되어 있지 않으면 설정할 수 있습니까?

답변:


48

아뇨. 거의. 즉, 압축 (zlib 또는 zlib-ish, 리콜)을 지원하지만 OpenSSH의 기본 사본에는 기본적으로 사용하도록 설정되어 있지 않지만 일부 배포판에서는 기본적으로 사용하도록 설정할 수 있습니다 (우분투가 생각하지 않습니다) ).

자세한 내용 man ssh_config을 참조하십시오. CompressionCompressionLevel옵션을 찾고 있으며에서 설정할 수 있습니다 /etc/ssh/ssh_config.

압축이 허용되는지 여부를 결정 Compression하는 서버 측 옵션 도 있습니다 sshd_config(기본적으로). man sshd_config자세한 내용 은 다시 참조 하십시오.

명령 행 옵션을 사용하여 세션별로 압축을 켤 수도 있습니다 -C.

참고 압축은 실제로 약간 미칠 수있는 부정적인 사용자와 서버 사이의 연결이 빠른 경우 성능에 미치는 영향 (예 : 동일한 LAN 또는 정말 좋은 인터넷 연결에) 느린 CPU (압축 먹는다 공정한 비트를 가지고 하나 또는 양쪽 CPU 시간).

요즘에는 대부분의 사람들에게 필요에 따라 사용하는 것이 좋습니다. 일반적으로 5-10mbps 미만의 링크 및 대량 데이터를 대량으로 전달할 때만 (이미 압축되지 않은 파일, X11 또는 VNC 전달 등의 전송).


1
실제로 SSH를 통해 X 응용 프로그램을 빠르게 실행하는 데 사용하려고합니다. 내 서버에 충분한 CPU 및 RAM 리소스가 있으며 클라이언트도 약하지 않습니다.
Ivan

2
sshd_config의 압축은 "yes"또는 "delayed"일 수 있습니다. zlib 취약점은 사용자를 노출시키지 않기 때문에 "지연"이 더 안전합니다. 이것이 기본값이지만 Tunnelier와 같은 일부 오래된 클라이언트는 "예"만 지원합니다. openssh.com/txt/release-4.2
endolith

Compressionyes또는 no맨 페이지라고 할 수 있습니다 ... 어쨌든 고맙습니다, 내 안드로이드 폰에서 압축을 풀어야했습니다 ...
Wilf

@Ivan NoMachine NX 또는 freenx를 사용해 보셨습니까? 그것은 ssh를 압축하는 것보다 빠릅니다.
gmatht

참고 CompressionLevel되는 SSH 프로토콜 1 만 가능했던 옵션이었다 더 이상 사용할 수 OpenSSH의 현재 버전 기본적으로합니다.
ckujau

23

모든 SSH에서 gzip 압축을 켤 수 있습니다. 넣어 Compression yes당신에 ~/.ssh/config, 그리고 그것을 작동합니다. 또한, 실행 해 ssh-C옵션을 선택합니다.


8

ssh 매뉴얼 페이지에서 ( man ssh모든 것을 보려면 입력 하십시오) :

 -C      Requests compression of all data (including stdin, stdout,
         stderr, and data for forwarded X11 and TCP connections).  The
         compression algorithm is the same used by gzip(1), and the
         “level” can be controlled by the CompressionLevel option for pro-
         tocol version 1.  Compression is desirable on modem lines and
         other slow connections, but will only slow down things on fast
         networks.  The default value can be set on a host-by-host basis
         in the configuration files; see the Compression option.

따라서 변경하십시오.

ssh hostname

에:

ssh -C hostname

2
Windows를 사용하는 경우 PuTTY에서이 옵션을 사용할 수 있습니다. 연결-> SSH-> 프로토콜 옵션-> 압축 사용.
Wug

0

압축을 켤 수는 -C있지만 압축을 허용하지 않아 서버가 커널 전원을 사용할 수없는 경우에는 작동하지 않습니다. 예를 들어,이 때문에 일부 고유 데이터의 호스트 위치를 Strato에서 내 서버로 변경했습니다. 느린 2Mbit 다운로드 및 0,3Mbit 업로드 연결의 사용으로 인해 그것을 인식했으며 프로세서 수준이나 서버 전원을 빨아 들일 때 높은 수준이 항상 빠르지 않기 때문에 압축 수준에 따라 속도 차이를 확인했습니다.
그러나 필자의 경우 필요한 시간을 이전의 6 분의 1로 단축하여 좋은 일을합니다.


두 옵션 모두에서 빠른 전송을 수행하고 시간을 확인하여 Settet 압축 속도가 빨라지면 네트워크 시작시 항상 항상 확인합니다. 결과 답변은 자동 압축 설정 여부입니다. 그 때문에 항상 더 잘 조정되므로 무언가를 전송하기 전에 항상 연결을 확인할 필요가 없습니다.
Andreas Bartels

0

가장 쉬운 이유는 cli에서 -o 옵션을 사용하는 것입니다. 예를 들어 모든 구성 옵션과 함께 사용할 수 있습니다.

ssh -o "Compression no" -v <HOST>
# or
ssh -o "Compression yes" -v <HOST>
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.