Медленная передача данных по SSH

Медленная передача данных по SSH

Сервер представляет собой Ubuntu Server 11.04 с sshd.

SSH отлично работает для консольных программ.

Но передача данных происходит медленно, что очень раздражает при передаче больших файлов.

Я пробовал две разные клиентские программы и менял порт, но скорость всегда одинаковая. Я знаю, что сервер может передавать данные намного быстрее через SSL, который, насколько мне известно, использует AES. Я также настроил свой SSH-клиент на использование AES, но никакого эффекта.

Почему использование SSH в несколько раз медленнее, чем SSL, и есть ли способ улучшить скорость передачи данных по SSH?

решение1

Есть проект под названием HPN-SSH(Высокая производительность SSH/SCP), это клиент по умолчанию в FreeBSD с некоторого времени, так что я думаю, что его можно считать стабильным. Я заметил небольшой прирост скорости к/с моего резервного сервера в моей локальной сети, но реальный прирост от HPN-SSH, как я понимаю, проявляется на больших расстояниях (подробнее об этом читайте на их сайте). Я не знаю, относится ли это к вам.

Но если вы действительно хотите улучшить производительность, вы можете перейти на более простые алгоритмы шифрования, такие как blowfish или archfour. В целом я не вижу в этом проблемы.

решение2

Я предполагаю, что один процессор действительно медленный или уже выжат. ​​Способы ускорения - использование вышеупомянутого патча 'hpn', который позволит вам вообще отказаться от шифрования, или, если вы не хотите потерять все шифрование (не могу вас винить), вы можете переключиться на использование шифрования 'arcfour' с помощью опции Ciphersлибо в CLI, либо в ~/.ssh/config. Это значительно менее ресурсоемко, чем стандартные алгоритмы шифрования, но в то же время это не так безопасно. Я получаю невероятно низкую скорость передачи ssh на моем eee PC, который работает на одноядерном процессоре 1,6 ГГц.

Пример: ssh -oCiphers='arcfour' user@host

Если вы используете scp, сделайте следующее: -oCiphers='arcfour'

Если вы используете rsyncдля переноса, то сделайте следующее: -e'ssh -oCiphers=arcfour'

Связанный контент