Como posso desabilitar a criptografia no openssh?

21

Estou tendo problemas de desempenho usando a combinação openssh (servidor) e putty (cliente) para usar um webproxy remoto. Gostaria de desabilitar a criptografia e testar os resultados para ver se isso faz diferença. Como eu posso fazer isso? Existe alguma coisa que eu possa modificar no sshd_config . Eu sou muito novo no openssh.

Quaisquer outras ideias seriam apreciadas.

Eu basicamente configuro meu IE para usar 127.0.0.1 socks como proxy. Eu conecto meu putty ao meu servidor openssh em casa e voila - eu sou capaz de navegar na internet através disso. No entanto, é incrivelmente lento, embora eu saiba que tenho uma conexão rápida com a minha casa (o ftp, por exemplo, funciona acima de 50Kbytes / seg.

    
por Jakuje 25.02.2010 / 19:43

8 respostas

17

Sem recompilar nada, isso não pode ser feito, tanto quanto sei. Você pode, no entanto, mudar para o ARC4 ou Blowfish, que são absurdamente rápidos em hardware moderno.

O melhor desempenho (com relação aos ciclos de clock) que você pode obter é com a adição de

compression no

Você pode fazer isso alterando

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

para

ciphers         arcfour,blowfish-cbc

Se você quiser extrair algum desempenho extra com o risco de incompatibilidade, poderá alterar

macs  hmac-md5,hmac-sha1,[email protected],
      hmac-ripemd160,hmac-sha1-96,hmac-md5-96

para

macs  hmac-md5-96

Se você ainda acha que isso é muita sobrecarga, você pode reverter para a v1 ou fazer uma VPN padrão.

    
por 25.02.2010 / 19:56
7

A menos que o cliente ou o servidor sejam drasticamente insuficientes, duvido muito que seja a criptografia que está causando seus problemas de desempenho. Eu uso um proxy de socks ssh "-D 8080" regularmente e nunca notei nada além de uma ligeira lentidão muito .

Uma coisa a verificar é ver qual é a latência entre o seu cliente e o servidor. Se for uma conexão muito latente, você certamente verá um desempenho ruim no encapsulamento ao usar HTTP, enquanto não estiver vendo problemas de desempenho com o FTP. Uma vez que uma transferência por FTP está em andamento, a latência não importa, mas com HTTP, você está lidando com páginas da web que podem ter 50 ou mais handshakes de HTTP individuais que precisam acontecer. Conexões de alta latência realmente retardarão esse processo e tornarão a navegação insuportável.

De qualquer forma, as recomendações feitas por Zephyr Pellerin são boas. Se você realmente acha que a criptografia está causando o problema, mude para uma cifra diferente. Eu sugeriria olhar para a latência primeiro, no entanto, já que isso parece ser um candidato muito mais provável.

    
por 25.02.2010 / 20:41
6

Esta thread me fez fazer meus próprios benchmarks e descobri que Performance varia não apenas por diferentes cifras / MAC, mas também faz diferença nos dados que você está enviando, quais CPUs estão envolvidas e como a rede está configurada.

Então, a coisa certa a fazer é executar seus próprios testes e encontrar as melhores configurações para sua situação.

Se alguém estiver interessado, aqui estão os resultados dos meus testes comparando um servidor baseado no E5506 da Intel com um 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                     [email protected] 48.8MB/s
aes256-cbc                  hmac-sha1-96               48.8MB/s
arcfour                     [email protected] 48.7MB/s
aes128-cbc                  hmac-sha1                  48.4MB/s


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

cipher                      mac                        speed
---------------------------------------------------------------
arcfour256                  [email protected]        2.75MB/s
arcfour128                  [email protected]        2.74MB/s
arcfour                     [email protected]        2.63MB/s
arcfour                     [email protected]        2.54MB/s
arcfour                     hmac-md5-96                2.36MB/s
arcfour128                  hmac-md5                   2.34MB/s
arcfour256                  hmac-md5                   2.34MB/s
arcfour256                  [email protected]        2.33MB/s
arcfour256                  hmac-md5-96                2.28MB/s
arcfour256                  hmac-md5-96                2.22MB/s

Mas apenas no 'top 10', os resultados completos podem ser encontrados aqui .

    
por 05.02.2015 / 21:53
3

Consegui compilar sshd / ssh com cifra 'none' com a ajuda deste post: link

É um post muito antigo, mas você precisa fazer 3 pequenas modificações no arquivo de código-fonte cipher.c. Então recompile o código sshd / ssh.

@@ -175,7 +175,7 @@
    for ((p = strsep(&cp, CIPHER_SEP)); p && *p != '
Ciphers aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc,[email protected],aes128-ctr,aes192-ctr,aes256-ctr,none
'; (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:

Além disso, a cifra none precisará ser adicionada ao seu /etc/ssh/sshd_config

@@ -175,7 +175,7 @@
    for ((p = strsep(&cp, CIPHER_SEP)); p && *p != '
Ciphers aes128-cbc,3des-cbc,blowfish-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc,[email protected],aes128-ctr,aes192-ctr,aes256-ctr,none
'; (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:

Os links abaixo irão ajudá-lo a obter fontes ssh para sistemas Debian e Ubuntu:

Crédito ao Dean Gaudet por ser incrível

    
por 19.06.2014 / 11:43
1

Se você quiser experimentar um túnel completamente descriptografado e descompactado, tente usar algo como rinetd para encaminhar os dados em vez do SSH. Isso ilimina os extras do SSH enquanto oferece um túnel seguro para conexões TCP.

Quando diz que tem uma ligação rápida em casa, tem a certeza de que é rápido em ambos os sentidos? Muitas conexões domésticas são muito assimétricas (minha casa ADSL, por exemplo, é ~ 11Mit downstream e ~ 1.5Mbit upstream e muitas são piores do que isso, algumas posso citar conexões amigos / família: 7M / 0.4M, 19M / 1.3M, 20M / 0,75M, ...). Lembre-se de que se você estiver usando o proxy como home, os dados terão que ser transmitidos nos dois sentidos, de forma a se mover na melhor das velocidades downstream e upstream, e você terá um pouco de latência extra fator também. Além disso, o seu ISP pode deliberadamente acelerar a comunicação upstream (seja de forma geral ou seletiva para que coisas como email e sites populares selecionados não sejam afetados) como uma maneira de desencorajar pessoas que executam servidores / proxies de seus links domésticos, embora isso seja relativamente raro. / p>     

por 25.02.2010 / 21:37
1

De acordo com este post muito bacana

link

Eu recomendo configurar as seguintes cifras. Além disso, certifique-se de que a compactação esteja desativada se desejar o melhor desempenho na LAN. Por favor, note que este é um risco de segurança possível, use apenas em uma LAN segura (por exemplo, em casa, etc.).

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

Modifique a primeira linha para listar seus próprios IPs em sua LAN. Você também pode fornecer nomes de host (separados por espaço). Isso lhe dá o melhor desempenho do scp na LAN.

    
por 09.01.2012 / 17:07
0

Acabei de fazer testes extensivos sobre isso, e o pacote de criptografia que produziu o maior throughput foi o aes-128-ctr com o MAC umac64. Em uma máquina de 4 núcleos de 3,4 GHz, vi quase 900 MBytes / s por meio do host local (para eliminar gargalos na rede por causa do benchmarking)

Se você realmente precisa desse desempenho, deseja o mais novo SSH e, possivelmente, o HPN-SSH patches.

    
por 19.06.2014 / 16:25
0

Esta é uma opção SSH do lado do cliente que usei para conexão SSH a dispositivos de baixo custo:

ssh -c none -m hmac-md5-96 [email protected] ....

Nenhuma codificação é suportada nativamente em versões recentes do OpenSSH. No entanto, desde o 7.6, o OpenSSH removeu o suporte SSHv1 e identificou a codificação "none" para uso interno.

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

Em seguida, você precisa de correção e recompilação para o servidor e o cliente.

#define CFLAG_INTERNAL      0
    
por 05.02.2018 / 07:35