
Eu uso o seguinte comando para transferir arquivos pela minha rede doméstica (quando tenho que transferir muitos arquivos, geralmente os arquivo com o tar
utilitário):
scp -c blowfish [FILE] [USER]@[ADDRESS]:[PATH]
Demora cerca de 25 minutos para enviar 500 Mb de dados para outro computador. A velocidade média é de cerca de 600 KB/s. Acho que deve haver uma maneira de tornar o processo mais rápido, porque não acredito que seja capaz de extrair confortavelmente um arquivo de 1 Gb da Web em menos de 10 minutos, mas não consigo obter um arquivo de 500 Mb arquivo enviado pela rede em menos tempo.
Responder1
Duas ideias:
- Experimente uma cifra diferente
- Use compactação 'on the fly'
1. Experimente uma cifra diferente:
Uma ideia é testar as várias cifras disponíveis scp
e tentar determinar qual é a mais rápida para você. (A ideia por trás disso é que é a criptografia dos seus dados que está demorando.) Encontre as cifras disponíveis executando o seguinte:
andrew@athens:~$ ssh -Q cipher
3des-cbc
blowfish-cbc
cast128-cbc
arcfour
arcfour128
arcfour256
aes128-cbc
aes192-cbc
aes256-cbc
[email protected]
aes128-ctr
aes192-ctr
aes256-ctr
[email protected]
[email protected]
[email protected]
andrew@athens:~$
Isso mostra as cifras disponíveis em uma instalação padrão do Xenial Xerus e pode ser adicionada usando a sintaxe que você já sugeriu:
scp -c <cipher> [FILE] [USER]@[ADDRESS]:[PATH]
Esta opção é passada diretamente para ssh
testar ssh
as cifras disponíveis. Esperamos que você possa encontrar uma cifra que permitirá um aumento em sua velocidade de transferência. Quando você encontrar essa cifra, poderá inseri-la ~/.ssh/config
em vez de digitá-la todas as vezes...
2. Use compactação 'on the fly':
scp
é capaz de compactar suas transferências 'on the fly', o que significa que as compressões são usadas apenas durante a transferência e não serão vistas nem no host nem nas extremidades remotas. Adicione isso usando a -C
opção:
scp -c <cipher> -C [FILE] [USER]@[ADDRESS]:[PATH]
Aqui está um exemplo em meu próprio sistema:
debug1: compress outgoing: raw data 365865, compressed 150118, factor 0.41
debug1: compress incoming: raw data 150118, compressed 365865, factor 2.44
O nível de compactação é o mesmo usado gzip
e se você realmente deseja experimentar pode usar a opção 'CompressionLevel' que varia de 1 a 9, sendo 1 a compactação mais rápida, 9 sendo a mais lenta com melhor compactação e 6 sendo a compactação mais rápida. padrão. Isso pode ser definido ~/.ssh/config
da seguinte forma:
Host *
Compression yes
CompressionLevel 9
Tenha em mente que isso define alta compressão paratodos scp / ssh
transferências, pode ser definido para hosts individuais, se desejar ...
Use a -v
opção para investigar os efeitos de quaisquer alterações feitas. Você notará com a experimentação que dados diferentes terão taxas de compactação diferentes.