Çok yavaş ssh giriş bilgilerimi nasıl hızlandırabilirim?


42

Koşu ssh user@hostname~ 30s alır. İşte senaryo:

  • bu yerel LAN’daki bir VM
  • Windows ve Mac makineleri anında giriş yapar
  • Debian kullanıyorum ve bir Ubuntu makinesiyle çoğalabiliyorum
  • Ubuntu kullanan biri makineme giriş yapmanın (yerel LAN) de anında olduğunu söylüyor
  • ana bilgisayar adı IP adresinin kullanılması yaklaşık yarım saat sürer (~ 15s)

[ güncelleme ]

Kullanarak ssh -vvv user@hostname, en çok beklediği yer:

debug3: authmethod_lookup gssapi-with-mic
debug3: remaining preferred: publickey,keyboard-interactive,password
debug3: authmethod_is_enabled gssapi-with-mic
debug1: Next authentication method: gssapi-with-mic

Ve sonra burada biraz bekler:

debug1: Unspecified GSS failure.  Minor code may provide more information
Credentials cache file '/tmp/krb5cc_1000' not found

debug1: Unspecified GSS failure.  Minor code may provide more information
Credentials cache file '/tmp/krb5cc_1000' not found

1
şifre veya pubkey kimlik doğrulaması kullanıyor musunuz? ve eğer şifre ise, a id_dsaveya id_rsadosya sizin ~/.sshmi? belki de ssh kurulumunuz önce yanlış kimlik doğrulamayı deniyor ve sunucunuz inkar etmiyor, ancak 30s zaman aşımına
uğrayan

@ tobias Parola kullanıyorum ve dosyam yok "~/.ssh". Bu bir dizin ve içinde sadece "known_hosts"dosya var.
tshepang

5
15 saniyelik bir DNS zaman aşımına sahip olduğunuz anlaşılıyor. Belki sunucu DNS araması yapıyordur; Eğer yapabiliyorsa emin olması UseDNS nohalinde sshd_configsunucuda. Her durumda, girişin ssh -vvv user@hostnamenerede asılı olduğunu görmek için çalıştırın .
Gilles 'SO- kötülük'

@gil Teşekkürler. Soruyu güncelledim. Yöneticiden, UseDNS ayarını kontrol etmesini isteyeceğim .
tshepang

3
@Tshepang: Oh, Kerberos (GSSAPI) kimlik doğrulamasını kullanıyorsunuz. Buna aşina değilim. Yanlış yapılandırılmışsa, belki de gecikmeye neden olabilir. Bu, yöneticinize sorabileceğiniz bir şey. DNS kırmızı bir ringa balığı olabilir; vahşi doğada en yaygın sebep, ama belki de senin sorunun farklı.
Gilles 'SO- kötülük olmayı bırak'

Yanıtlar:


32

" / Etc / ssh / ssh_config " ifadenizi düzenleyin ve şu satırları yorumlayın:

GSSAPIAuthentication yes
GSSAPIDelegateCredentials no

3
+1 Güzel cevap! (1) Ssh giriş bağlantısının imlecin 7 kez yanıp sönmesi zaman alması normal bir hız mıdır? (2) Neden yorum yaparak GSSAPIAuthentication yesve çalışıyor GSSAPIDelegateCredentials no? @Tshepang
Tim

@Tim (1) çok uzun ... bağlantıya bağlı olarak, 2 saniyeden fazla sürmesini beklemiyorum; (2) Sadece çalıştığı hakkında hiçbir fikrim yok
tshepang

1
OpenSSH'nin çoğu sürümünde GSSAPIAuthentication için varsayılan değer "hayır" dır, ancak bazı dağıtımlar sshd_config ve ssh_config dosyalarında bunu "evet" olarak belirler. Gerekmediğinde / kullanmadığında, bağlantı / kimlik doğrulama anlaşmasını yavaşlatır.
tgharold

LDAP / AD kimlik doğrulaması kullanılıyorsa, GSSAPI’yı devre dışı bırakmak basit bir bağlantı kullanılmasına neden olmaz ve potansiyel olarak ağ üzerinden düz metin olarak parolalar gönderir mi?
Shannon

Tüm ad sunucularının hala /etc/resolv.conf dosyasında bulunduğunu doğrulayın. Olmazlarsa, onları dışarı çıkar. Bu benim sorunumu çözdü.
technocrat

30

Bu sorunu yaşadım ve SSH’de Ters DNS çözünürlüğünü kapatarak çözdüm.

Yani sshd_configüzerinde sunucu değişikliği bu:

 #UseDNS yes

buna:

UseDNS no

1
Değişikliği yaptım (yorumlanmış bir UseDNS seçeneğim olmasa da ), ssh sunucumu sıfırla ve hala aynı sorunu.
tshepang

2
@Bu hmm, garip. SSH ile yaşadığım tek hız problemi bundan kaynaklanıyordu.
Earlz

1
IP adresini (ev LAN) kullanarak giriş yaparken kullandığımdan şüpheliydim, ancak bu çözüm sorunumu çözdü. Google'ın hatırı için, hemen sonra olmasına rağmen, gecikmenin "key: /home/mylogin/.ssh/id_ecdsa ((nil))" mesajı (hiçbir şey çalışırken ssh -vvv) ile ilgisi yoktu .
Skippy le Grand Gourou

7

DNS kurulumunuzu doğruladınız mı?

Ayarını deneyin mdns offiçinde /etc/host.conf.

Bu, MDS çözünürlüğünü devre dışı bırakır ve bana çok yardımcı oldu.

DÜZENLE:

Gentoo bunu biraz farklı tutuyor gibi görünüyor. Çok noktaya yayın DNS aramalarını devre dışı bırakmak için dosyayı değiştirmeniz gerekir /etc/nsswitch.conf.
Gibi bir şey olmalı:

hosts:          files mdns

Şuna değiştir:

hosts:          files dns

+1 iyi fikir. @Tshepang ssh doğrudan sunucu adını kullandığınızda ssh daha hızlı bağlanır mı?
Tobias Kienzler

@tobias yarı yarıya zaman alıyor
tshepang

/etc/host.conf: line 2: bad command Kaçtığımda mdns alıyorum ssh user@hostname.
tshepang

Görünüşe göre bu eski bir ayardır, çünkü glibc 2.3.x (2006): forums.gentoo.org/viewtopic-t-476558-highlight-mdns.html . Ne kullanıyorsunuz (OS, glic sürümü)?
tshepang

1
IP adresini kullanırken sadece yarım saat sürdüğünü söylüyorsunuz. Bu, ad çözümlemenizde bir sorun olduğu anlamına gelir (IP => FQDN veya FQDN => IP). Bu nedenle, önce DNS yapılandırmanıza bakın ve ardından ssh ile ilgili bir sorununuz olup olmadığını öğrenmeye çalışın.
Hristiyan

3

Ana bilgisayar adı eklemek /etc/hostsbazen bu sorunu çözebilir.


Tek bir ana bilgisayar adı için çalışır, ancak Earlz'in çözümü daha geneldir (ve aynı sorunu giderir).
Skippy le Grand Gourou

1

Ayrıca nscdyüklü olup olmadığını kontrol edin .

Bir dns önbelleğine sahip olmamak PTR kaydını çözmek için gereken süreyi uzatabilir (ssh istemcisinin sunucunun IP adresi için dns geriye doğru arama gerçekleştirdiğini varsayarsak)


0

Windows 2008 R2 ortamında da aynı sorunu yaşıyorum ancak "useDNS no" çalışmıyor.

Hosts dosyasına, bağlanan sunucunun IP'sini ve sunucusunu ve daha hızlı bir şekilde 30 sn. Bu da kararın DNS’de olabileceğini düşündürüyor.

DNS sunucuları eklemeye çalışıyorum ancak bu sorunu çözmüyor.

Sunucumun iki DNS soneki var. 1 sunucunun ait olduğu etki alanı için (domain.com) ve diğerinin özel bir ağa bağlanan dış arabirimi için (domain.net).

DNS sonek sırası önce domain.net, sonra domain.com olur.

SFTP / SSH istemcilerim şirket etki alanında. Bu arada sorunlu müşteriler şirket alanından geliyor.

Benim için işe yarayan, önce domain.com, sonra domain.net ikinci yapmak.

2m30s bağlantı gecikmesi önceki 3-4s oldu.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.