SSH повільно встановлює з'єднання [дублікат]


25

Щойно я встановив Ubuntu 11.10, і кожного разу, коли я намагаюся SSH на свої сервери, це дуже повільно. Перш ніж відобразити запит на введення пароля, це може зайняти від 40 до 60 секунд.

Я використовую:

ssh myuser@myserver.com

Після того як я ввійшов у систему, все добре, і це працює швидко.

Чому це займає так довго, і як я можу це виправити? Чи є якісь команди в команді SSH, яку я можу використовувати?

Відповіді:


44

Це повільно, тому що демон OpenSSH використовує DNS для запуску зворотного пошуку на імені клієнта, щоб переконатися, що воно дійсне

sudo vi /etc/ssh/ssh_config

Прокоментуйте наступні рядки

#GSSAPIAuthentication yes
#GSSAPIDelegateCredentials no

АБО

додати це:

UseDNS no

6
Існує файл sshd_config для сторони сервера та ssh_config для клієнтської сторони. Налаштування цих параметрів на клієнті та сервері у файлі ssh_config не допомогло мені. Лише після того, як я встановив GSSAPIAuthentication noі GSSAPIDelegateCredentials yesдодав UseDNS noу файл sshd_config сервера, це пришвидшило з'єднання для мене.
metakermit

1
Чи немає ніяких наслідків для безпеки цього робити?
TheStoryCoder

@TheStoryCoder гарне запитання, мені доведеться перевірити двічі, ви зараз викликали мою цікавість ...
Книга Зевса

1
Після додавання UseDNS noя отримав, Bad configuration option: usednsколи намагався ввійти на інший сервер.
Каспер

1
Спробуйте встановити UseDNSна noв /etc/sshd_configабо /etc/ssh/sshd_config. НЕ /etc/ssh_config!
Ю Цзяао

13

Це лише доповнення відповіді Book Of Zeus. Якщо у вас немає кореневого доступу (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було б достатньо!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.