Ssh'ın “şifre” isteminin görünmesi neden bu kadar uzun sürüyor?


94

Denediğimde ssh, şifre isteminin görünmesi çok uzun sürüyor (neredeyse iki dakika).

Bu neden oluyor?


1
Gilles cevabı olmalı gerçekten gibi yorumların açıklandığı cevap.
gertvdijk

Yanıtlar:


143

Yanlış gidebilen birkaç şey var. -vvvSsh'ın ne yaptığına dair ayrıntılı bir iz bırakması için ekleyin ve nerede durduğunu görün.

Sorun, istemcide veya sunucuda olabilir.

Sunucudaki yaygın bir sorun, ters DNS aramasının zaman aşımına uğradığı bir istemciden bağlanmanızdır. (“Ters DNS araması”, istemci makinenin IP adresinden bir ana bilgisayar adına geri dönme anlamına gelir. Güvenlik için gerçekten kullanışlı değildir, ancak günlük girişlerinden gelen kırılma girişimlerini teşhis etmek için biraz yardımcı olur, ancak varsayılan yapılandırma yine de yapar.) ters DNS aramaları kapatmak için, eklemek UseDNS noiçin /etc/ssh/sshd_config(sunucuda root olmak gerekir; sonradan SSH hizmetini yeniden başlatmak unutmayın).

Başka bir şey ters gidebilir olduğunu GSSAPI kimlik zaman aşımına. Bunun ne olduğunu bilmiyorsanız, muhtemelen ona güvenmiyorsunuzdur; Eğer satır ekleyerek kapatabilirsiniz GSSAPIAuthentication noiçin /etc/ssh/ssh_configya ~/.ssh/config(yani istemci tarafında).


8
Benim için GSSAPIA kimlik doğrulama problemiydi. Teşekkür ederim.
RajaRaviVarma

14
Ters DNS araması benim
sorunumdu

2
Ters DNS de benim için suçluydu ve UseDNS nobir cazibe gibi düzeltti. Dahili IP'ler için geriye doğru aramaları işlemek için DNS sunucusu olmayan bir iç ağdayım.
Jordan Mack

1
Devre dışı bırakmanın güvenlik etkileri var GSSAPIAuthenticationmı? (15 dakika için googling buna ışık tutmadı)
Alexander Malakhov

3
@AlexanderMalakhov Giriş yapmak için buna güveniyorsanız, devre dışı bırakırsanız kendinizi kilitleyebilirsiniz. Bunun dışında hayır. Ve eğer GSSAPI kullanıyorsanız, bileceksiniz - ağınızda GSSAPI tabanlı bir servis yapılandırmanız gerekecekti.
Gilles

13

Giriş işlemine zaman ayırın ve ne kadar süreceğini görün:

[root@gislab00207 ~]# time ssh root@ISSLABNTL01
root@isslabntl01's password:
Last login: Fri Oct  4 07:55:03 2013 from 3.60.40.232

[root@ISSLABNTL01 ~]# exit
logout
Connection to ISSLABNTL01 closed.

real    0m45.192s
user    0m0.003s
sys     0m0.005s

You have new mail in /var/spool/mail/root
[root@gislab00207 ~]#

Yukarıya bakınız giriş yapmak için yaklaşık 45 saniye sürdü -------- ÇOK YAVAŞ

Kök olarak giriş yaptıktan sonra sshd_config dosyasını düzenleyin ve UseDNS girişini aşağıdaki gibi değiştirin. Burada dosyayı düzenlemek yerine sed kullanıyorum.

[root@ISSLABNTL01 ~]# grep -i dns /etc/ssh/sshd_config
#UseDNS yes

[root@ISSLABNTL01 ~]# sed -i 's/#UseDNS yes/UseDNS no/g' /etc/ssh/sshd_config
[root@ISSLABNTL01 ~]# grep -i dns /etc/ssh/sshd_config
UseDNS no

[root@ISSLABNTL01 ~]# service sshd restart
Stopping sshd:                                             [  OK  ]
Starting sshd:                                             [  OK  ]
[root@ISSLABNTL01 ~]# exit

Giriş işlemini zamanlayalım ve ne kadar süreceğini şimdi görelim.

[root@gislab00207 ~]# time ssh root@ISSLABNTL01
root@isslabntl01's password:
Last login: Fri Oct  4 07:55:03 2013 from 3.60.40.232

[root@ISSLABNTL01 ~]# exit
logout

Connection to ISSLABNTL01 closed.

real    0m6.192s
user    0m0.003s
sys     0m0.005s

You have new mail in /var/spool/mail/root
[root@gislab00207 ~]#

Şimdi 6 saniye sürdü, şifreyi yazmamın zamanı geldi.


fantastik .. bir nokta re time .. useDNS hayır benim için düzeltti .. Ben parola doğrulaması vardı ve gecikme o parola girme istemi görünmek için oldu .. Bunun görünmesini bekledim sonra ctrl-c ' 'beni şifreye girmeyi de içermiyordu.
barlop

Ben onaylayabilir UseDNS noiçinde /etc/ssh/sshd_configsabit Sorunum

UseDNS noÇözdü
Pandurang Patil

@PandurangPatil Hatalı konfigürasyon seçeneği: kullanılmış
Yusef Mohamadi

@zhilevan Ayrıca bunun neden kötü bir yapılandırma olduğunu söylemelisiniz. Bu neden kötü yapılandırma olduğunu anlamaya yardımcı olacaktır
Pandurang Patil

4

Ubuntu'nun kurulumundan yanlış gelen bir şey.

Bunu düzeltmek için /etc/nsswitch.conf dosyasındaki bu satırı değiştirmelisiniz :

hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4

Ve bunun için değiştirin:

hosts:          files dns

3
Ubuntu'nun yapılandırması yanlış değil. Bazı durumlarda (merkezi DNS sunucusu olmayan ev ağları), doğru olanıdır. Diğerlerinde (mDNS'nin zaman aşımı istediği ağlar), kötüdür.
Gilles

[NOTFOUND = return] orada olmamalı.
Neuquino

4
@Neuquino Orada olmalı . Görünüşe göre anlamadığın bir nedenden dolayı var. Bunun nsswitch.confgibi bir şey yapmak, sorun istemektir ve SSH'yi yavaşlatmak için genel bir çözüm sağlamamaktadır.
gertvdijk

Bu bana işe
yarayan

4

Benim durumumda, sorun yeniden başlatılarak çözülebilir systemd-logind:

systemctl restart systemd-logind

Bu Serverfault'da belirtilmiştir .

Yine de bunu düzenli olarak yapmak zorundayım ve sorunun asıl nedeninin ne olduğunu bilmiyorum.


1

Benim durumumda ssh için hata ayıklama çıktısı sadece 'bağlanırken' 30 saniye durdu. Çözüm, yerel sistemimdeki DNS ayarlarıyla ilgili olduğu ortaya çıktı. Önceki bir ağ yapılandırması, /etc/resolv.confdosyada sahte bir DNS sunucusunun arkasında kalmıştı . Geçerli bir DNS sunucusuyla değiştirmek sorunu düzeltti.


0

Benim için sistemi dns 127.0.0.1 olarak değiştiriyordum, bundan önce var olmayan bir ana bilgisayardı.

nano /etc/resolv.conf

Ve aşağıdakileri yaz

domain localdomain
search localdomain
(Removed this line) ===> nameserver 10.0.0.1
(Added this line) ===> nameserver 127.0.0.1

Benim için bu dosya /etc/resolv.conf (no e)
Shadow

0

Posterin ortamı hakkında istediğim kadar bilgim yok, ancak benzer problemi olan diğer kişiler için sssd, ldap mojo'yu bağlamak için kullandığımız bir sorun olabilir .

Bu bana olur:

$ time ssh server.example.com

real  2m0.018s
user  0m0.006s
sys   0m0.004s

Sunucuya erişmem gerekiyor (benim durumumda konsol üzerinden) sonra bir şey yapmalıyım:

service restart sssd

Ondan sonra işler sadece işe yarıyor. Kök nedenini ayıklamak için zamanım olmadı, ama bu bandaj benim için çalışıyor.


0

Dlink yönlendiricimdeki DHCP ayarlarında DNS Relayini Etkinleştir seçeneğini işaretleyerek yavaş parola istemini ssh - issue aracılığıyla çözebilirim . Daha sonra SSH ile bağlantılar bir saniye içinde çalıştı.

Network Settings -> Router Settings -> Enable DNS Relay [x]

Varsayılan yapılandırma her DNS isteğini sağlayıcıya iletir. Ssh pi@10.0.0.103 ile bağlantı kurmama rağmen yavaştı. Çözümün ipucu dhcp ile sağlanan /etc/resolv.conf "search upc.at" dosyasına bir girdi.

Dlink manual durumları:

When DNS Relay is enabled, DHCP clients of the router will be assigned 
the router's LAN IP address as their DNS server. All DNS requests that 
the router receives will be forwarded to your ISPs DNS servers. 
When DNS relay is disabled, all DHCP clients of the router will 
be assigned the ISP's DNS server.

İstemci ve sunucu üzerindeki bir dhcp sürümünden sonra, SSH ile bağlantı tekrar hızlı oldu. HTH.

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.