montagem sshfs sem compactação ou criptografia

28

Eu sou um usuário muito frequente de sshfs para montar vários discos na rede. No entanto, tenho uma máquina muito pequena (com um processador atom) da qual preciso montar um diretório usando sshfs.

É possível desativar toda a compactação e talvez até também a criptografia ao montar usando sshfs, para limitar o uso da CPU na máquina na qual o diretório está montado?

Bjarke Freund-Hansen
fonte
1
Você está descartando criptografia e compactação ... deixe-me pensar. Por que você não usa FTP ou SMB?
Lajeto #
1
Nenhuma criptografia parece realmente nenhum SSH. Você já pensou em usar outro protocolo completamente?
precisa saber é o seguinte
2
@lajuette: Como Dan D. afirma abaixo, a autenticação ssh ainda será criptografada, portanto, não haverá senhas ou chaves em texto sem formatação. Além disso, você conhece algum protocolo que esteja tão prontamente disponível quanto o ssh, onde eu possa montar pastas remotas tão facilmente quanto possível com o sshfs?
Bjarke Freund-Hansen
@lajuette Eu quero o mesmo tipo de coisa e meu motivo é que preciso de algo que minhas máquinas de jogos retro-jogos Win98 e WinXP em quarentena possam usar para extrair arquivos do meu PC desktop Linux e, dentre as opções disponíveis, SSH via WinSCP Just Works ™ através meu firewall de quarentena da lista de desbloqueio enquanto o FTP e o SMB não funcionarem, por mais que eu tente abrir as portas corretas. (E WebDAV pode, aparentemente, apenas ser servido pelo Apache, que é muito complicado para chroot.)
ssokolow
Além disso, o AES me fornece uma taxa de transferência de 27Mbit no Athlon64 3200+, maximizando a CPU, enquanto o RC4 dobra isso; portanto, nenhuma criptografia deve ficar ainda mais perto de maximizar a NIC de 100Mbit no lado do WinXP. (Dado que os discos giratórios de ferrugem atualmente instalados em ambas as extremidades das operações de cópia em questão fora max em cerca de 200Mbit quando SMB é usado com arquivos contíguos para remover a necessidade de busca.)
ssokolow

Respostas:

38

Embora o ssh de alto desempenho adicione uma cifra sem código, a cifra de arco e quatro é quase tão rápida quanto incluída como padrão.

Usar: -o Ciphers=arcfour

Eu tenho usado isso na rede local e recebo cerca de 85% da Ethernet de 100Mbps ou cerca de 10.625MB / s

(Na resposta da resposta do vava, sshfs ainda seria o que é mesmo quando a criptografia do ssh está desativada, pois o protocolo de autenticação ainda estaria ativo sem o qual você também poderia estar usando o telnet.)


Nota para @osgx, recentemente encontrei o OpenSSL: Cipher Selection, que inclui o seguinte gráfico:

insira a descrição da imagem aqui

A seguir, a seção de resultados dessa página. O gráfico e os resultados são questionáveis, pois não indicam como o benchmark foi feito e em que hardware, mas acho que eles não estão tão distantes.

100.000 Kbyte / s é o meu limite para desempenho aceitável. Isso representa 1 núcleo da CPU (de 8 no meu caso) rodando com 100% de utilização para transferir 780Mbit / s de dados (que é um ponto de saturação razoável para um link Ethernet de gigabit).

RC4 é a cifra mais rápida, se você estiver usando um processador que não suporta AESNI .

O AES-128 é a próxima cifra mais rápida e muito mais rápida que o RC4, se você tiver suporte para AESNI. É cerca de 54% mais lento se não o fizer. O AES-256 ainda é mais lento e, a menos que seja explicitamente configurado de outra forma, qualquer navegador que suporte o AES-128 também suportará o AES-256.

O que foi citado acima mostra claramente que o arcfour (e também o AES com o AESNI ) pode saturar um link Gigabit em uma máquina moderna.

Se você não precisar de criptografia, a codificação none do hpn-ssh será ainda mais rápida, mas você só precisará dela se precisar saturar um link com várias vezes a largura de banda de um link Gigabit ou se precisar de um uso reduzido da CPU.

Dan D.
fonte
Obrigado por resposta muito informativo e isso realmente acelerar o sshfs :)
nXqd
3
Não é '-o cipher = arcfour'?
precisa saber é o seguinte
1
Arcfour alcançará velocidades de 1Gbit?
osgx
1
@osgx Sim, acho que sim. Veja a resposta atualizada.
Dan D.
3
arcfourcifra reprovada e ausente na maioria das instalações modernas do OpenSSH, você pode usar [email protected].
Mesut Tasci 10/10
8

Para sftp sem criptografia, use sshfs+socat

No lado do servidor, execute

socat TCP4-LISTEN:7777 EXEC:/usr/lib/sftp-server

E no lado do cliente

sshfs -o directport=7777 remote:/dir /local/dir

Fonte: http://pl.atyp.us/wordpress/index.php/2009/09/file-transfer-fun/

endru
fonte
2
Embora isso possa, teoricamente, resolver o problema, seria preferível para resumir o conteúdo da ligação, e fornecer o link como referência
canadense Luke restabelecer MONICA
3
Por padrão, o socat TCP-LISTEN escuta em todas as interfaces. Para limitar a uma interface de rede específica (por exemplo, host local), use a ,bind=127.0.0.1opção Para permitir várias conexões com o servidor, adicione a ,forkopção Criando um servidor somente leitura? Adicione -Rao comando EXEC. No final, ficará assim: socat TCP-LISTEN:7777,fork,bind=127.0.0.1 EXEC:'/usr/lib/sftp-server -R'(no Arch Linux, eu tive que usar /usr/lib/ssh/sftp-server).
Lekensteyn
Para um pouco mais de segurança, você também pode restringir o intervalo de IPs, por exemplo ,range=192.168.1.2/32, para permitir apenas a conexão de uma máquina específica.
Robin Dinse
3

Não há como desativar a criptografia - afinal, isso é ssh. E parece que a compactação está desativada por padrão, pois você precisa solicitá-la com o -Cswitch.

Mas você pode querer verificar seu ~/.ssh/configarquivo para obter configurações relacionadas à compactação. Se você adicionar as seguintes linhas na parte superior desse arquivo, a compactação deverá ser desativada:

Host *
    Compression no
innaM
fonte
2

Você pode montar com -o compression=nopara desativar a compactação. Não é possível desativar a criptografia, não seria o sshfs depois disso :) Se for lento, sugiro usar outra maneira de montar um diretório, como através do samba, nfs ou ftp.

vava
fonte
NFS seria uma boa escolha
Jeremy L
O padrão parece ser "compressão = não" de qualquer maneira.
precisa saber é o seguinte
0

Penso que a compressão é algo realmente mais rápido se o tempo de compactação for compensado pelo tempo de transferência de dados. Portanto, a compactação em uma conexão lenta está aumentando a velocidade até talvez seis vezes mais rápido do que sem. A compactação em uma conexão rápida não é útil, pois diminui a velocidade devido ao atraso na compactação no sistema ou no sistema host. Alguns hosts não aceitam a compactação, pois não desejam gastar energia do processador nos usuários.

Eu acho que essa opção -o Ciphers=arcfouraumentará a velocidade da criptografia para quase nenhuma criptografia e -o cache=yes -o kernel_cache -o large_reads -o compression=nopoderá aumentar muito a sua velocidade, pois otimiza um pouco o sshfs. A compactação em conexões de baixa velocidade acelerará muito a sua transferência se a compactação for possível; principalmente é. Por exemplo, eu uso-o com uma conexão de 2 Mbit / s para baixo e 0,3 Mbit / s para cima, e acelera a transferência em cerca de 3-5 minutos em vez de 25-30 minutos por cerca de 30 MByte.

Andreas Bartels
fonte
De certa forma você não está dando melhor informação do que a resposta aceita
yass
A resposta aceita nem menciona a compactação. Esta resposta pode estar um pouco fora do tópico, mas ainda tem bons conselhos.
Alguém