5

У меня есть локальная машина и Mac OSX-сервер (Mavericks).

Я могу открыть сессию SSH на сервере с локальной машины:

user> ssh serveruser@myserver.local
serveruser@myserver>

Однако соединение ssh очень медленное. Это так же медленно, как мое интернет-соединение. Нет никакой разницы между удаленным ssh-соединением с удаленным сервером и этим локальным ssh-соединением. И каждые 10-20 секунд у меня всплеск лага в 1-2 секунды, когда терминал не отвечает, и через несколько секунд я вижу свои действия.

Как это локальное соединение может зависеть от скорости моего интернета?

  • Примечание. При использовании общего экрана качество и задержка действительно плохие, поэтому у меня может возникнуть та же проблема (соединение идет через Интернет, а не только локально).
  • Примечание 2: 2 машины подключены через Wi-Fi к маршрутизатору. Если я копирую файлы с одного компьютера на другой, скорость составляет около 20 МБ / с. Так что местная связь довольно хорошая.

Редактировать: некоторые из тестов, которые @MariusMatutiae предложил:

# very inconsistent ping times.
➜  ~  ping 10.0.0.34
PING 10.0.0.34 (10.0.0.34): 56 data bytes
64 bytes from 10.0.0.34: icmp_seq=0 ttl=64 time=142.699 ms
64 bytes from 10.0.0.34: icmp_seq=1 ttl=64 time=571.248 ms
64 bytes from 10.0.0.34: icmp_seq=2 ttl=64 time=193.275 ms
64 bytes from 10.0.0.34: icmp_seq=3 ttl=64 time=211.617 ms
64 bytes from 10.0.0.34: icmp_seq=4 ttl=64 time=28.381 ms
64 bytes from 10.0.0.34: icmp_seq=5 ttl=64 time=337.638 ms
64 bytes from 10.0.0.34: icmp_seq=6 ttl=64 time=78.221 ms
64 bytes from 10.0.0.34: icmp_seq=7 ttl=64 time=100.819 ms
64 bytes from 10.0.0.34: icmp_seq=8 ttl=64 time=11.514 ms
64 bytes from 10.0.0.34: icmp_seq=9 ttl=64 time=141.167 ms
64 bytes from 10.0.0.34: icmp_seq=10 ttl=64 time=166.168 ms
^C
--- 10.0.0.34 ping statistics ---
11 packets transmitted, 11 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 11.514/180.250/571.248/150.814 ms

# trying google for comparison
➜  ~  ping www.google.com
PING www.google.com (173.194.113.176): 56 data bytes
64 bytes from 173.194.113.176: icmp_seq=0 ttl=52 time=28.173 ms
64 bytes from 173.194.113.176: icmp_seq=1 ttl=52 time=65.306 ms
64 bytes from 173.194.113.176: icmp_seq=2 ttl=52 time=33.831 ms
64 bytes from 173.194.113.176: icmp_seq=3 ttl=52 time=24.287 ms
64 bytes from 173.194.113.176: icmp_seq=4 ttl=52 time=24.642 ms
64 bytes from 173.194.113.176: icmp_seq=5 ttl=52 time=36.327 ms
64 bytes from 173.194.113.176: icmp_seq=6 ttl=52 time=26.143 ms
64 bytes from 173.194.113.176: icmp_seq=7 ttl=52 time=25.572 ms
^C
--- www.google.com ping statistics ---
8 packets transmitted, 8 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 24.287/33.035/65.306/12.878 ms

# traceroute seems direct
➜  ~  traceroute 10.0.0.34
traceroute to 10.0.0.34 (10.0.0.34), 64 hops max, 52 byte packets
 1  10.0.0.34 (10.0.0.34)  150.568 ms  4.263 ms  2.603 ms

Я не смог запустить sudo /usr/sbin/ssd -Dd , ошибка:

Привязка к порту 22 на :: fail: адрес уже используется. Невозможно связать любой адрес.

$>  sudo lsof -i :22
COMMAND     PID      USER   FD   TYPE             DEVICE SIZE/OFF NODE NAME
launchd       1      root   34u  IPv6 0xb1ed5bcf5a84....      0t0  TCP *:ssh (LISTEN)
launchd       1      root   35u  IPv4 0xb1ed5bcf5a84....      0t0  TCP *:ssh (LISTEN)
$> sudo kill 1 # machine restarts. I'm not a smart man...

И я не мог scp, он говорит: scp: /home/server_user/: Operation not supported (удаленный вход в систему включен на сервере)

2 ответа2

0

Это может или не может применяться, но я выкладываю это там, потому что моя проблема похожа, и я нашел обходной путь.

При подключении к моему Mac (например, SSH) я испытывал задержку / задержку. Например, я набрал бы в оболочке (командной строке), и мои нажатия клавиш не появлялись бы, возможно, через 200-600 миллисекунд спустя, и все они проходили бы сразу. Это происходило все время и приводило в бешенство.

В этой ветке форума я читал, что

[Apple/OSX] отключает беспроводную связь между пакетами

В конце концов, я пришел в себя , чтобы использовать это в качестве решения (запустить это на том же клиентском компьютере , на котором вы SSHing от):

ssh username@macservername 'while true; do echo -n .; sleep 0.1; done' > /dev/null

Это устанавливает постоянный поток байтов, проходящих через сетевое соединение от клиента к Mac, обманывая Mac, заставляя не переводить Wi-Fi в спящий режим.

0

Трудно диагностировать проблему с таким небольшим количеством информации. Вот список действий, которые вы можете сделать, чтобы повысить вероятность правильной диагностики вашей проблемы:

1) часы передачи большого файла (скажем, 1 ГБ). Вы можете сделать это так

  time scp largefile remore_user@remote_server:/home/remote_user

2) Тем временем ты еще что-нибудь делаешь? Загрузка чего-либо, использование соединения vnc , выполнение интенсивных вычислений, обновление системы или, возможно, другой системы в той же локальной сети? Было бы полезно взглянуть на изображение выходных данных одного из нескольких графических системных мониторов, которые детализируют использование ЦП, трафик и использование памяти на любой машине, когда вы подключаетесь к удаленному серверу.

3) Сделайте трассировку IP-адреса сервера с локальной машины.

4) посмотрите таблицу маршрутизации каждой системы, чтобы убедиться, что они находятся в одной подсети.

5) проверить радиопомехи. В Linux вы можете сделать это с помощью команды:

  sudo iw dev wlan0 scan

который покажет канал и уровень сигнала вашего Wi-Fi, а также соседних сетей.

6) проверить время пинга между клиентом и сервером;

7) изменить алгоритм шифрования;

8) наблюдать за процессом регистрации в деталях. На сервере вам нужно запустить ssh не в режиме демона, а в режиме отладки:

   /usr/sbin/sshd -Dd

пока на клиенте

   ssh -vvv remote_user@remote_server

чтобы проверить, есть ли что-нибудь необычное.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .