Из-за пределов моего дома, когда я захожу на свой сервер Ubuntu, используя SSH, мне требуется около 6 секунд, чтобы получить приглашение на ввод пароля, однако, когда я захожу на свой сервер веб-хостинга, это занимает около 1 секунды. Что я могу сделать, чтобы ускорить это?
$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=8.04
DISTRIB_CODENAME=hardy
DISTRIB_DESCRIPTION="Ubuntu 8.04.1"
$ ssh -v
OpenSSH_4.7p1 Debian-8ubuntu1.2, OpenSSL 0.9.8g 19 Oct 2007
$ cat /proc/cpuinfo
model name : Dual-Core AMD Opteron(tm) Processor 1210
cpu MHz : 1000.000
cache size : 1024 KB
$ cat /proc/meminfo
MemTotal: 2074528 kB
Для меня причина № 2 (после опции UseDNS на стороне сервера) для длинных входов в сеанс SSH - это попытки клиента подключиться с использованием IPv6 (который, очевидно, неправильно настроен в моей сети - или почти любой другая сеть, в этом отношении).
См. HOWTO: ускорить вход в SSH на форумах Ubuntu.
«Решение» состоит в том, чтобы включить только IPv4:
1) либо для данного вызова клиента SSH:
ssh -4 login@hostname
2), либо глобально в конфигурации клиента ssh в /etc/ssh/ssh_config
:
Host *
AddressFamily inet
Конечно, было бы правильнее правильно настроить IPv6 в вашей сети, но у кого есть на это время:)
Первой причиной, которую я видел для этого, является параметр конфигурации в SSHD. UseDNS
Этот параметр (включен по умолчанию) заставляет сервер выполнять DNS-разрешение для входящих запросов. Трудоемкая операция. Я видел вход в систему от одной минуты плюс ожидание запроса пароля до менее чем нескольких секунд. Если вы отредактируете /etc/ssh/sshd_config
на сервере и добавите (если его там нет) внизу UseDNS no
, а затем перезапустите демон SSH с service ssh restart
, вы увидите улучшение при следующем подключении.
Поскольку вы используете довольно старую версию Ubuntu, вполне возможно, что эта ошибка:
Перезапуск dbus (/etc/init.d/dbus restart
) может помочь.
Попробуйте добавить следующий параметр с помощью команды ssh:
-o "PreferredAuthentications=password"
(это не позволяет ssh согласовывать любой другой метод аутентификации и ускоряет запрос пароля!)
Кроме того, введите это на удаленном компьютере (как пользователь, которого вы войдете в систему), чтобы подавить любые сообщения MOTD:
touch ~/.hushlogin
Не имеет такого большого значения, как отключение UseDNS
но это может помочь при медленных соединениях.