Mengapa "kata sandi" ssh meminta begitu lama muncul?

94

Ketika saya mencoba ssh, prompt kata sandi membutuhkan waktu terlalu lama (hampir dua menit) untuk muncul.

Mengapa ini terjadi?

Neuquino
sumber
1
The jawaban dari Gilles harus yang jawabannya seperti yang dijelaskan dalam komentar, benar-benar.
gertvdijk

Jawaban:

143

Ada beberapa hal yang bisa salah. Tambahkan -vvvuntuk membuat ssh mencetak jejak terperinci dari apa yang dilakukannya, dan melihat di mana ia berhenti.

Masalahnya bisa di klien atau di server.

Masalah umum pada server adalah jika Anda terhubung dari klien yang membalikkan waktu pencarian DNS terbalik. ("Reverse DNS lookup" berarti kembali dari alamat IP mesin klien ke nama host. Itu tidak benar-benar berguna untuk keamanan, hanya sedikit membantu untuk mendiagnosis upaya breakin dari entri log, tetapi konfigurasi default tetap melakukannya.) Untuk mematikan pencarian DNS terbalik, tambahkan UseDNS noke /etc/ssh/sshd_config(Anda harus melakukan root pada server; ingatlah untuk memulai kembali layanan SSH sesudahnya).

Hal lain yang bisa salah adalah waktu otentikasi GSSAPI habis. Jika Anda tidak tahu apa itu, Anda mungkin tidak mengandalkannya; Anda dapat mematikannya dengan menambahkan baris GSSAPIAuthentication noke /etc/ssh/ssh_configatau ~/.ssh/config(yang ada di sisi klien).

Gilles
sumber
8
Bagi saya itu adalah masalah pengesahan GSSAPIA. Terima kasih.
RajaRaviVarma
14
Reverse DNS lookup adalah masalah saya
trinth
2
Reverse DNS adalah biang kerok bagi saya juga, dan UseDNS nomemperbaikinya seperti pesona. Saya berada di jaringan internal tanpa server DNS untuk menangani pencarian terbalik untuk IP internal.
Jordan Mack
1
Apakah ada implikasi keamanan terhadap penonaktifan GSSAPIAuthentication? (Googling selama 15 menit tidak menjelaskan itu)
Alexander Malakhov
3
@AlexanderMalakhov Jika Anda mengandalkan ini untuk masuk, maka Anda akan mengunci diri jika Anda menonaktifkannya. Selain itu, tidak. Dan jika Anda menggunakan GSSAPI, Anda akan tahu - Anda harus mengonfigurasi beberapa layanan berbasis GSSAPI di jaringan Anda.
Gilles
13

Biarkan waktu proses login dan lihat berapa lama:

[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 ~]#

Lihat di atas butuh sekitar 45 detik untuk login -------- VERY SLOW

Setelah Anda login sebagai root edit file sshd_config dan ubah entri UseDNS seperti di bawah ini. Di sini saya menggunakan sed bukan mengedit file.

[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

Biarkan kami mengatur waktu proses login dan lihat sekarang berapa lama.

[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 ~]#

Lihat sekarang 6 detik, saatnya bagi saya untuk mengetikkan kata sandi.

Mamadou Lamine Diatta
sumber
fantastis .. satu titik waktu .. useDNS tidak memperbaikinya untuk saya .. Saya punya otentikasi kata sandi dan penundaan itu untuk memasukkan kata sandi yang muncul .. Saya menunggu itu muncul kemudian melakukan ctrl-c jadi 'waktu 'Tidak termasuk saya memasukkan kata sandi.
barlop
Saya dapat mengkonfirmasi UseDNS nodalam /etc/ssh/sshd_configmemperbaiki masalah saya
UseDNS noMenyelesaikannya
Pandurang Patil
@PandurangPatil Opsi konfigurasi buruk: usedns
Yusef Mohamadi
@ Zhilevan Anda juga harus menyebutkan mengapa konfigurasi ini buruk. Itu akan membantu memahami mengapa ini konfigurasi buruk
Pandurang Patil
4

Ini adalah sesuatu yang salah dari instalasi Ubuntu.

Untuk memperbaikinya Anda harus mengubah baris ini di /etc/nsswitch.conf :

hosts:          files mdns4_minimal [NOTFOUND=return] dns mdns4

Dan ubah untuk yang ini:

hosts:          files dns
Neuquino
sumber
3
Konfigurasi Ubuntu tidak salah. Dalam beberapa kasus (jaringan rumah tanpa server DNS pusat), itu adalah hal yang benar. Di tempat lain (jaringan tempat mDNS meminta waktu habis), itu buruk.
Gilles
[NOTFOUND = return] seharusnya tidak ada di sana.
Neuquino
4
@Neuquino Seharusnya ada di sana. Itu ada di sana karena alasan yang Anda tidak mengerti, rupanya. Mengotak-atik Anda nsswitch.confseperti ini meminta masalah dan tidak memberikan solusi umum untuk memperlambat SSH.
gertvdijk
Bagi
4

Dalam kasus saya, masalah ini dapat diselesaikan dengan memulai kembali systemd-logind:

systemctl restart systemd-logind

Ini disebutkan pada Serverfault .

Saya harus melakukan ini secara teratur, dan saya tidak tahu apa akar masalahnya.

Candid Dauth
sumber
1

Output debug untuk ssh dalam kasus saya baru berhenti selama 30 detik ketika sedang 'terhubung'. Solusinya ternyata terkait dengan pengaturan DNS pada sistem lokal saya. Konfigurasi jaringan sebelumnya telah meninggalkan server DNS palsu dalam /etc/resolv.conffile. Menggantinya dengan server DNS saat ini memperbaiki masalah.

ErikWeitenberg
sumber
0

Bagi saya sedang mengubah sistem dns ke 127.0.0.1, sebelum ini adalah tuan rumah tidak ada.

nano /etc/resolv.conf

Dan tulis yang berikut ini

domain localdomain
search localdomain
(Removed this line) ===> nameserver 10.0.0.1
(Added this line) ===> nameserver 127.0.0.1
Alireza
sumber
Bagi saya, file ini sepertinya /etc/resolv.conf (no e)
Shadow
0

Saya tidak tahu sebanyak apa tentang lingkungan poster seperti yang saya inginkan, tetapi untuk orang lain dengan masalah yang sama, mungkin ada masalah dengan sssd, yang kita gunakan untuk mengikat mojo ldap.

Ini terjadi pada saya:

$ time ssh server.example.com

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

Saya harus mendapatkan akses ke server (dalam kasus saya melalui konsol) kemudian lakukan:

service restart sssd

Setelah itu, semuanya berjalan baik. Saya belum punya waktu untuk men-debug penyebab root, tetapi bandaid ini bekerja untuk saya.

KurtB
sumber
0

Saya dapat memecahkan prompt kata sandi yang lambat melalui ssh - issue dengan memeriksa Aktifkan DNS Relay di pengaturan DHCP pada router dlink saya. Setelah itu koneksi dengan SSH bekerja dalam satu detik.

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

Konfigurasi default meneruskan setiap permintaan DNS ke penyedia. Itu lambat meskipun saya terhubung dengan ssh [email protected]. Petunjuk untuk solusinya adalah entri di /etc/resolv.conf "search upc.at" yang disediakan melalui dhcp.

Status manual dlink:

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.

Setelah rilis dhcp pada klien dan server, menghubungkan melalui SSH kembali dengan cepat. HTH.

domih
sumber