Ускоряем SSH логин

Долгое время я мучился ужасно медленным удаленным логином на свои Ubuntu сервера (все 2). Ужасно медленно в данном случае — 2-3 секунды. Не то чтобы это было совсем фатально, но когда логин через ключ — хочется чтобы все работало мгновенно — в конце концов, у нас не 486SX.

Длительное гугление приводило только к стандартным решениям:

  1. UseDNS no в /etc/ssh/sshd_config — ускоряет логин в случае тормозного DNS. В моём случае стоял локальный кеширующий DNS, потому и так все было быстро
  2. Принудительное указание IPv4 в SSH клиенте — особо не помогло, видимо не у всех тормозит

И на askubuntu.com вопрос c bounty уныло провисел долгие недели без ответа…

Оказалось, используемый нашими дедами для реально полезных задач /etc/motd файл в Ubuntu используется весьма «креативно» — до 10-й версии motd перегенерировался по задаче crontab-а, которая выполняла кучу задач, в том числе и проверку обновлений на сервере canonical (и многое другое). Отключалось через update-motd --disable.

В 10-й версии это уже так просто не работает, т.к. генерацию motd перенесли в модули PAM, которые выполняются непосредственно в момент логина и отжирают эти самые драгоценные 2-3 секунды времени, пока пользователь в нетерпении смотрит на черное окно терминала. Итак, берем скальпель:

  1. В файлах /etc/pam.d/login и /etc/pam.d/sshd выпиливаем начисто строчки «session optional pam_motd.so»
  2. Сносим нафиг компоненты платного мониторинга, установленные по дефолту:

После этого можно наконец отредактировать по вкусу /etc/motd

В /etc/ssh/sshd_config смотрим, есть ли PrintMotd yes, если он вам все еще нужен.

Готово, логин на сервер теперь мгновенный. 🙂

PS. А если логинитесь с ключом, то RSA ключ проверяется быстрее чем DSA при равной длине (раза в 4) — и даже на современном железе на ключах от 2048 можно увидеть разницу.

Источник: habrahabr.ru.

Если у вас есть свой сайт, то вам наверняка нужна раскрутка сайта, иначе у вас совсем не будет посетителей.