24

Я только что установил Ubuntu 11.10, и всякий раз, когда я пытаюсь подключить SSH к своим серверам, он очень медленный. Перед отображением запроса пароля может пройти от 40 до 60 секунд.

Я использую:

ssh myuser@myserver.com

После того, как я вошел в систему, все в порядке и работает быстро.

Почему это занимает так много времени, и как я могу это исправить? Есть ли какие-либо параметры в команде SSH, которые я могу использовать?

2 ответа2

43

Это медленно, потому что демон OpenSSH использует DNS для запуска обратного поиска по имени хоста клиента, чтобы убедиться, что он действителен

sudo vi /etc/ssh/ssh_config

Закомментируйте следующие строки

#GSSAPIAuthentication yes
#GSSAPIDelegateCredentials no

ИЛИ ЖЕ

Добавь это:

UseDNS no
13

Это всего лишь дополнение к ответу Книги Зевса. Если у вас нет root-доступа (sudo), вы все равно можете его настроить.

Вам нужно отредактировать ваш файл "user ssh_config":

vi $HOME/.ssh/config

(Примечание: вам нужно будет создать каталог $ HOME/.ssh, если он не существует)

И добавить:

Host *
  GSSAPIAuthentication no
  GSSAPIDelegateCredentials yes

Вы можете сделать это для каждого хоста, если требуется :) пример:

Host linux-srv
  HostName 192.158.1.1
  GSSAPIAuthentication no
  GSSAPIDelegateCredentials yes

Убедитесь, что IP-адрес соответствует IP вашего сервера. Одним из замечательных преимуществ является то, что теперь ssh будет обеспечивать автозаполнение для этого сервера. Таким образом, вы можете набрать ssh lin + Tab и он должен автоматически завершиться до ssh linux-srv .

Вы можете добавить несколько полезных опций, чтобы вам не приходилось каждый раз вводить их:

User <a user>
Port <a port number>
IdentityFile <a specific private key>
Compression yes
....

Поэтому вместо ввода ssh -C -p 1022 -i ~/.hidden/prv-key-4096bit superuser@192.158.1.1 будет достаточно простого ssh linux-srv !

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