Вход Raspberry Pi SSH медленный

19

У меня Raspberry Pi модель B с операционной системой Rasbian, которая хорошо работала в течение 2-3 месяцев, и с прошлой недели я заметил, что каждый раз при входе в систему (через ssh) при вводе имени пользователя возникает задержка (более 1 минуты) перед тем, как система ответит паролем.

Это признак неисправной SD-карты или что-то еще ...? (Кроме того, я заметил, что выполнение некоторых команд, таких как arp, netstat и т. Д., Требует больше времени для вычислений ...)

ZSN
источник
Скорее всего, это проблема SD-карты. Попробуй найти класс 10 8GB Kingstons. Они, кажется, работают очень хорошо для меня в течение длительного периода времени с умеренным чтением и пишут им
Петр Кула
Просто чтобы исключить проблемы с DNS. Происходит ли то же самое, когда вы входите в SSH, используя только IP-адрес, а не имя хоста
Петр Кула
вход в систему с именем хоста или ipadress такой же .. медленный, и кажется, что это нечто большее, я загрузил базовую версию с февраля и проблемы сохраняются ...
zsn
это также может быть полезно, если вы можете опубликовать свой dmesgи /var/log/messagesвывод.
Колин
к большому количеству комментариев ... но есть странная строка, которую я раньше не заметил, которая многое объясняет ... FAT-fs (mmcblk0p1): Том не был правильно отключен. Некоторые данные могут быть повреждены. Пожалуйста, запустите fsck // dmesg ...
zsn

Ответы:

27

Возможно, ваш Pi пытается выполнить обратный поиск DNS имени подключающегося хоста клиента по соображениям безопасности, что нормально, но приводит к таймаутам, если у вас нет работающего обратного DNS.

когда вы наконец войдете в систему, попробуйте добавить

UseDNS no

в ваш /etc/ssh/sshd_configфайл, и посмотрите, поможет ли это улучшить ситуацию, конечно, не забудьте перезагрузить, и вы готовы к работе!

service ssh reload

И вы должны иметь почти мгновенный SSH

Вы также можете попробовать SSH-ing с опцией -v verbose, чтобы предоставить клиенту выходные данные, которые могут помочь в диагностике случаев истечения времени ожидания.

Это поведение не уникально ни для Raspberry Pi, ни для Raspbian. Также смотрите SuperUser: основные причины медленных входов в систему через ssh, где UseDNS noобщее решение.

Kolin
источник
Не могли бы вы объяснить, как DNS повлияет на общее использование Pi? Разрешение DNS не занимает много времени после первого разрешения.
Петр Кула
1
@ppumkin Раньше у меня была эта проблема на стандартном linux-боксе внутри сети, где обратный поиск DNS не проводился, прошло 30 с лишним секунд, прежде чем я получил запрос пароля. Используя решение, которое я только что предоставил, исправили его для меня, поэтому я не уверен, почему мой ответ был отклонен?
Колин
Похоже, у вас была очень специфическая проблема, чтобы изменить DNS или что-то. Как сказал ОП, в течение нескольких месяцев он работал нормально, в его сети и во всех приложениях ничего не изменилось, после входа в систему требуется больше времени. Я серьезно сомневаюсь, что это решит все эти проблемы, поэтому -1. Кроме того, мне никогда не приходилось делать это в любой ситуации. DNS очень важен, и это должно работать правильно. Один из способов доказать, что это не DNS, это войти в систему с IP. Тогда DNS-запросы не выполняются
Петр Кула,
1
@ppumkin, ОП не упоминает, что ничего не изменилось? у него также возникают проблемы с другими командами (arp и netstat), которые будут использовать DNS-запросы, если он не указал, arp -anи netstat -rnкоторые отключат поиск. оба являются хорошим тестом, чтобы решить, действительно ли это проблема DNS.
Колин
Что ж, редактирование ssh_config улучшило время отклика при входе в систему, но, тем не менее, я верю, что это скорее проблема с sd-картой, поскольку arp (и подобные команды) занимает около 2-3 минут, чтобы вернуть любые значения. Я сохранил резервные копии и переписал их в карта, когда все было хорошо, и она не работает должным образом .. Теперь я попытаюсь проверить карту SD и переформатировать ее на другой машине и посмотреть, что происходит с чистой установкой .. ребята ..
zsn
1

Мой официальный WiFi-адаптер от Raspberry Pi сам получал 64% потерь пакетов с одного компьютера на Pi через мою локальную сеть. В то время как все остальные WiFi-ключи работали как шарм с потерей пакетов <1%.

Использование:

ping address(Windows, Linux, Mac) или ping address -t(Windows, работает до Ctrl + C) на другом компьютере в вашей локальной сети, чтобы проверить, не является ли это проблемой сети, заменив адрес на частный IP-адрес вашего Pi.

Чтобы найти свой частный IP-адрес для своего Pi, наведите курсор мыши на значок сети в Raspbian или используйте команду hostname -I.

Windows DOS Pinging

evelynhathaway
источник
Является -tдействительным флаг для пинг? Я пробую это на своем Mac, но это не работает. Он отображает сообщение: use: ping [-AaDdfnoQqRrv] [-b boundif] [-c count] [-G sweepmaxsize] [-g sweepminsize] [-h sweepincrsize] [-i wait] [−k trafficclass] [-l предварительная загрузка] [-M маска | время] [-m ttl] [-p шаблон] [-S src_addr] [-s размер пакета] [-t тайм-аут] [- W время ожидания] [-z tos] пинг хоста [-AaDdfLnoQqRrv] [-b boundif] [- c count] [-I iface] [-i wait] [−k trafficclass] [-l preload] [-M mask | время] [-m ttl] [-p шаблон]
Игорь Ганапольский
@IgorGanapolsky В Windows она действует как команда ping другой оболочки, повторяя пакеты снова и снова, пока вы не остановите ее. Я предполагаю, что терминал Mac уже имеет это или это другой флаг.
evelynhathaway