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


19

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

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


Скорее всего, это проблема 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общее решение.


Не могли бы вы объяснить, как 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


Является -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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.