openssh에서 암호화를 비활성화하려면 어떻게해야합니까?


21

원격 웹 프록시를 사용하기 위해 openssh (서버)와 putty (클라이언트) 조합을 사용하여 성능 문제가 있습니다. 암호화를 비활성화하고 결과를 테스트하여 차이가 있는지 확인하고 싶습니다. 어떻게해야합니까? 내가에서 수정할 수 있습니다 무엇인가 sshd_config. openssh를 처음 접했습니다.

다른 아이디어가 있으면 감사하겠습니다.

기본적으로 IE는 127.0.0.1 양말을 프록시로 사용하도록 설정했습니다. 퍼티를 집에있는 openssh 서버와 voila에 연결합니다.이를 통해 인터넷을 검색 할 수 있습니다. 그러나 집에 빠르게 연결되어 있다는 것을 알고 있지만 엄청나게 느립니다 (예를 들어 ftp는 50Kbytes / sec 이상에서 작동합니다).


2
그것은 rot13 패치 ( miranda.org/~jkominek/rot13 )가 결코 안타깝게도 유감 입니다 ...
Kenster

5
SSH 서버가 1980 년부터 디지털 손목 시계로 실행되지 않는 한 SSH에서 사용하는 암호화가 느린 연결의 원인이라고 의심합니다.
joschi

답변:


17

다시 컴파일하지 않으면 내가 아는 한 수행 할 수 없습니다. 그러나 최신 하드웨어에서는 엄청나게 빠른 ARC4 또는 Blowfish로 전환 할 수 있습니다.

추가 할 수있는 최고의 성능 (클럭주기에 관한 한) 증가

compression no

당신은 변경 하여이 작업을 수행 할 수 있습니다

ciphers         aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,
                aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,aes192-cbc,
                aes256-cbc,arcfour

ciphers         arcfour,blowfish-cbc

비 호환 위험에 대비하여 추가 성능을 짜내려면 변경할 수 있습니다

macs  hmac-md5,hmac-sha1,umac-64@openssh.com,
      hmac-ripemd160,hmac-sha1-96,hmac-md5-96

macs  hmac-md5-96

여전히 이것이 너무 많은 오버 헤드라고 생각되면 v1로 되돌 리거나 표준 VPN을 수행 할 수 있습니다.


3
OpenSSH 설치 (양쪽 끝)가 "없음"암호 지원을 준수하는 경우이를 지정할 수도 있지만 보안 쉘 의 전체 목적을 무효화합니다 .
voretaq7

1
우리 중 C가 기울어 진 경우, 암호 배열의 cipher.c에 { "none", SSH_CIPHER_NONE, 8, 0, 0, EVP_enc_null} 을 추가 할 수 있습니다 .
ŹV

3
또한 지적 할 수 있습니다. socat ( dest-unreach.org/socat )과 같은 것을 사용하여 동일한 작업을 수행하고 모든 SSH 프로토콜 오버 헤드를 피할 수 있습니다.
ŹV

umac-64가 가장 빠른 맥 알고리즘이라고 생각합니다.
James Reinstate Monica Polk

모든 경우에 96 비트 MD5는 매우 빠릅니다.
ŹV-

7

클라이언트 나 서버의 전원이 크게 부족하지 않으면 성능 문제를 일으키는 암호화인지 의심 할 것입니다. 나는 "-D 8080"ssh 양말 프록시를 정기적으로 사용하며 아주 약간의 속도 저하 만 감지 한 적이 없다 .

확인해야 할 사항은 클라이언트와 서버 간의 대기 시간이 얼마인지 확인하는 것입니다. 연결이 매우 느리면 HTTP를 사용할 때 터널에서 성능이 저하되는 반면 FTP의 성능 문제는 보이지 않습니다. FTP 전송이 진행되면 대기 시간은 실제로 중요하지 않지만 HTTP를 사용하면 50 개 이상의 개별 HTTP 핸드 셰이크가 발생할 수있는 웹 페이지를 처리하게됩니다. 대기 시간이 긴 연결은이 프로세스 속도를 늦추고 탐색을 견딜 수 없게 만듭니다.

어쨌든 Zephyr Pellerin의 권고는 건전합니다. 실제로 문제를 일으키는 암호화라고 생각되면 다른 암호로 전환하십시오. 그래도 대기 시간을 먼저 살펴볼 것을 제안합니다.


+1 ... ... 암호화 가능성이 거의없는 문제는 처음에는 집에서 호스트와 연결될 가능성이 높습니다.
DaveG

16
나는 사람들이 당신이 이것을 할 필요가 없다고 말하고 암호화 오버 헤드의 이점과 단점에 대해 오랫동안 토론하고 (있는 경우 또는 그렇지 않은 경우) 질문에 대답하려고합니다. 최소한 인증이 필요한 로컬 컴퓨터에서 로컬 작업에 대한 중복 암호화를 추가 할 이유가 없지만 localhost에서 localhost로 작업 할 때는 실제로 암호화가 필요하지 않습니다.
Marius

5
사실이 아니라면, 기가 이더넷에서 scp를 사용하여 큰 파일을 복사하십시오. 인텔 iCore 5로드는 80 %입니다.
lzap

@Izap> 단순한 암호화 그 이상이 있습니다. ftp(ssl없이)를 사용하여 큰 파일을 전송하면 CPU로드가 20 ~ 40 % 적습니다. CPU에서 너무 많은주의를 필요로하는 저렴한 기가 이더넷을 비난합니다.
스펙트럼

ZFS 보내기 / 받기에 SSH를 사용하면 CPU에 병목 현상이 발생합니다.)
Xdg

6

이 스레드는 나 자신의 벤치 마크를 수행했으며 성능은 다른 암호 / MAC에 의해서뿐만 아니라 전송하는 데이터, CPU 관련 및 네트워킹 설정 방법에 차이가 있음을 알았습니다.

따라서 IMO가해야 할 일은 직접 테스트를 실행하고 상황에 가장 적합한 설정을 찾는 것입니다.

누군가 관심이 있다면, Intel E5506 기반 서버와 Raspberry Pi를 비교 한 테스트 결과는 다음과 같습니다.

--
-- Intel Xeon E5506(4 x 2.13 GHz), 50MB Random binary Data over localhost
--

cipher                      mac                        speed
---------------------------------------------------------------
aes192-cbc                  hmac-sha1                    50MB/s
arcfour256                  hmac-sha2-512              49.9MB/s
arcfour                     hmac-ripemd160             49.8MB/s
aes256-cbc                  hmac-sha1-96               49.7MB/s
aes128-cbc                  hmac-sha1-96               49.7MB/s
aes192-cbc                  hmac-sha1                  48.9MB/s
arcfour                     hmac-ripemd160@openssh.com 48.8MB/s
aes256-cbc                  hmac-sha1-96               48.8MB/s
arcfour                     hmac-ripemd160@openssh.com 48.7MB/s
aes128-cbc                  hmac-sha1                  48.4MB/s


--
-- Raspberry PI B+, 10MB Random binary over localhost
--

cipher                      mac                        speed
---------------------------------------------------------------
arcfour256                  umac-64@openssh.com        2.75MB/s
arcfour128                  umac-64@openssh.com        2.74MB/s
arcfour                     umac-64@openssh.com        2.63MB/s
arcfour                     umac-64@openssh.com        2.54MB/s
arcfour                     hmac-md5-96                2.36MB/s
arcfour128                  hmac-md5                   2.34MB/s
arcfour256                  hmac-md5                   2.34MB/s
arcfour256                  umac-64@openssh.com        2.33MB/s
arcfour256                  hmac-md5-96                2.28MB/s
arcfour256                  hmac-md5-96                2.22MB/s

그러나 '상위 10'에서 완전한 결과 는 여기에서 찾을 수 있습니다 .


'없음'암호가없는 결과는이 주제에 대해 불완전합니다. 나는 많은 pogoplugv4 (800Mhz arm version = slow)를 가지고 있으며 종종 ssh로 CPU를 페깅합니다. 이것이 사람들이 암호를 찾지 않는 이유입니다. 100 %의 ssh / sshd CPU 사용량은 네트워크 문제가 아님을 의미합니다! 나는 ... 다시 와서 암호 = 없음 결과를 게시하는 기억 희망
user2420786

이 데이터를 생성하는 데 사용한 스크립트가 있습니까? chacha20-poly1305@openssh.com오늘 하드웨어 에서 현재 암호 ( ) 의 성능에 관심이 있습니다 .
Jakuje


3

이 게시물의 도움으로 암호 'none'으로 sshd / ssh를 컴파일 할 수있었습니다 : https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=24559#58

매우 오래된 게시물이지만 소스 코드 파일 cipher.c를 약간 수정해야합니다. 그런 다음 sshd / ssh 코드를 다시 컴파일하십시오.

@@ -175,7 +175,7 @@
    for ((p = strsep(&cp, CIPHER_SEP)); p && *p != '\0';
        (p = strsep(&cp, CIPHER_SEP))) {
        c = cipher_by_name(p);
-       if (c == NULL || c->number != SSH_CIPHER_SSH2) {
+       if (c == NULL || (c->number != SSH_CIPHER_SSH2 && c->number != SSH_CIPHER_NONE)) {
            debug("bad cipher %s [%s]", p, names);
            xfree(ciphers);
            return 0;
@@ -343,6 +343,7 @@
    int evplen;

    switch (c->number) {
+   case SSH_CIPHER_NONE:
    case SSH_CIPHER_SSH2:
    case SSH_CIPHER_DES:
    case SSH_CIPHER_BLOWFISH:
@@ -377,6 +378,7 @@
    int evplen = 0;

    switch (c->number) {
+   case SSH_CIPHER_NONE:
    case SSH_CIPHER_SSH2:
    case SSH_CIPHER_DES:
    case SSH_CIPHER_BLOWFISH:

또한 none암호를 추가해야합니다./etc/ssh/sshd_config

Ciphers aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc,rijndael-cbc@lysator.liu.se,aes128-ctr,aes192-ctr,aes256-ctr,none

아래 링크는 데비안 및 우분투 시스템의 ssh 소스를 얻는 데 도움이됩니다.

굉장한 것에 대한 Dean Gaudet의 신용


2

이 아주 좋은 블로그 게시물에 따르면

http://blog.famzah.net/2010/06/11/openssh-ciphers-performance-benchmark/

다음 암호를 설정하는 것이 좋습니다. LAN에서 최상의 성능을 얻으려면 압축이 해제되어 있어야합니다. 보안 위험이 발생할 수 있으므로 보안 LAN (예 : 가정 등)에서만 사용하십시오.

# cat ~/.ssh/config
Host 192.168.1.*
    Compression no
    Ciphers arcfour256,arcfour128,arcfour,blowfish-cbc,aes128-cbc,aes192-cbc,cast128-cbc,aes256-cbc

LAN에서 자신의 IP를 나열하도록 첫 번째 줄을 수정하십시오. 호스트 이름을 제공 할 수도 있습니다 (공백으로 구분). 이것은 LAN에서 최상의 scp 성능을 제공합니다.


1

완전히 암호화되지 않은 비 압축 터널을 사용 rinetd하려면 SSH 대신 데이터를 전달하는 것과 같은 것을 사용해보십시오 . 이것은 TCP 연결을위한 일반 바이너리 안전 터널을 제공하면서 SSH 추가 기능을 완화시킵니다.

집에 빨리 연결되어 있다고 말할 때 양방향으로 빨리 연결되어 있습니까? 많은 가정 연결은 매우 비대칭 적입니다 (예를 들어 내 집 ADSL은 ~ 11Mit 다운 스트림 ~ ~ 1.5Mbit 업스트림이며 그보다 더 나쁩니다. 일부는 친구 / 가족 연결에서 인용 할 수 있습니다 : 7M / 0.4M, 19M / 1.3M, 20M / 0.75M, ...). 집을 프록시로 사용하는 경우 데이터는 두 가지 방법으로 링크를 거쳐야하므로 최대한 이동 해야합니다.다운 스트림 및 업스트림 속도 중 가장 느린 속도로 고려해야 할 추가 대기 시간이 있습니다. 또한 ISP는 홈 링크에서 서버 / 프록시를 실행하는 사람들을 자신의 링크에서 차단하는 방법으로 의도적으로 업스트림 통신 (이불 또는 선택적으로 전자 메일 및 선택된 인기있는 웹 사이트에 영향을 미치지 않도록 선택)을 제한 할 수 있습니다.


ssh는 대부분의 시스템에서 표준입니다. rinetd는 일부는 아니지만 제안에 감사드립니다.
Marius

그러면 netcat / nc를 시도해야합니다
ThorstenS

0

방금 이것에 대한 광범위한 테스트를 수행했으며 가장 높은 처리량을 산출 한 암호 제품군은 umac64 MAC을 사용하는 aes-128-ctr입니다. 4 코어 3.4GHz 시스템에서 로컬 호스트를 통해 초당 900MBytes를 보았습니다 (벤치마킹을 위해 네트워크 병목 현상을 제거함)

그처럼 많은 성능이 필요한 경우 최신 SSH 및 HPN-SSH 패치 가 필요할 수 있습니다.


0

이것은 저급 장치에 대한 SSH 연결에 사용한 클라이언트 쪽 SSH 옵션 중 하나입니다.

ssh -c none -m hmac-md5-96 -oKexAlgorithms=curve25519-sha256@libssh.org ....

최신 OpenSSH 버전에서는 암호가 기본적으로 지원되지 않습니다. 그러나 7.6 이후 OpenSSH는 SSHv1 지원을 제거하고 내부 사용을 위해 "없음"암호로 레이블을 지정했습니다.

#define CFLAG_NONE      (1<<3)
#define CFLAG_INTERNAL      CFLAG_NONE /* Don't use "none" for packets */

그런 다음 서버 및 클라이언트 측 모두에 대한 패치 및 재 컴파일이 필요합니다.

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