Назад | Перейти на главную страницу

SSH туннель медленный

Я только что переехал через полмира, и у меня странная проблема с подключением. У меня есть соединение dsl со скоростью 4 Мбит / с, я могу успешно подключиться к моему серверу по ssh и настроить туннель. Я использую PuTTY (на моем рабочем столе - ПК) и Терминал (на моем Mac). Скорость моего рабочего стола составляет в среднем 0,5 Мбит / с. Если я проверяю скорость непосредственно на ближайшем к моему серверу (т.е. без прокси / туннеля), я получаю 4 Мбит / с, как было заявлено.

Единственные отличия в том, что настольный компьютер подключен к CAT5, а Mac подключен к беспроводной сети через маршрутизатор DSL. Я проверил кабель, подключив его к Mac, и он получил 4 Мбит / с до туннеля. Другие подключения Ethernet к маршрутизатору также получают скорость 4 Мбит / с.

Ниже putty.log. Я не уверен, что это маршрутизатор или конфигурация соединения шпатлевки, и я в растерянности, проведя 4 часа в Google.

Любая помощь будет оценена. Сам сервер работает под управлением Ubuntu 10.04.

2011-08-01 14:14:13 Looking up host "x.x.x.x"
2011-08-01 14:14:13 Connecting to x.x.x.x port 22
2011-08-01 14:14:13 Server version: SSH-2.0-OpenSSH_5.3p1 Debian-3ubuntu7
2011-08-01 14:14:13 We claim version: SSH-2.0-PuTTY_Release_0.60
2011-08-01 14:14:13 Using SSH protocol version 2
2011-08-01 14:14:14 Doing Diffie-Hellman group exchange
2011-08-01 14:14:14 Doing Diffie-Hellman key exchange with hash SHA-256
2011-08-01 14:14:14 Host key fingerprint is:
2011-08-01 14:14:14 ssh-rsa 2048 aa:bb:cc:dd:0f:a3:1e:06:bc:c8:7d:dd:cc:bb:aa:11
2011-08-01 14:14:14 Initialised AES-256 SDCTR client->server encryption
2011-08-01 14:14:14 Initialised HMAC-SHA1 client->server MAC algorithm
2011-08-01 14:14:14 Initialised AES-256 SDCTR server->client encryption
2011-08-01 14:14:14 Initialised HMAC-SHA1 server->client MAC algorithm
2011-08-01 14:14:15 Reading private key file "C:\key.ppk"
2011-08-01 14:14:17 Offered public key
2011-08-01 14:14:18 Offer of public key accepted
2011-08-01 14:14:20 Access granted
2011-08-01 14:14:21 Opened channel for session
2011-08-01 14:14:21 Local port 1080 SOCKS dynamic forwarding
2011-08-01 14:14:21 Allocated pty (ospeed 38400bps, ispeed 38400bps)
2011-08-01 14:14:21 Started a shell/command

Как правило, для скорости ssh-соединений / туннелей ... Putty - это однопотоковое приложение, поэтому даже в многоядерных системах вы ограничены скоростью одного ядра процессора. Для высоких скоростей выбирайте быстрый шифр - Blowfish. Либо настройте его в шпатлевке, либо при использовании командной строки ssh укажите ssh -c blowfish ... использовать это. Используя это, вы все равно будете ограничены примерно макс. 10 МБ / с в локальной сети Гбит.

РЕДАКТИРОВАТЬ: Сейчас 2018 год, и все текущие процессоры и операционные системы должны поддерживать ускорение HW AES (инструкция AES-NI). Таким образом, рекомендация с Blowfish применима только к более старому HW (или медленному HW, например, маршрутизаторам). AES с HW-ускорением обеспечивает скорость шифрования более 1 ГБ / с, поэтому этого достаточно для ssh и / или openssl.

Я столкнулся с аналогичными проблемами с WinSCP (на основе реализации SSH PuTTY) по каналу с высокой задержкой через Атлантику. То, как PuTTY и WinSCP будут обрабатывать свои сетевые буферы, не позволит масштабированию окна TCP выполнять свою работу, что действительно необходимо для соединений с высокой задержкой. Он всегда будет отправлять два пакета, один большой и один маленький. Первый будет иметь полезную нагрузку 1460 байтов, а второй - 76 байтов.

Эта ветка имеет очень хорошее объяснение того, почему 1460 + 76 байтов имеют значение.

В любом случае я решил для себя эту проблему, отказавшись от PuTTY / WinSCP в пользу Bitvise Tunnilier, который не вызывает такого рода проблем с буферизацией / масштабированием окна.