tunda untuk mendapatkan prompt kata sandi saat ssh'ing ke server publik


9

saya memiliki pengaturan server (debian 7) di universitas saya dengan ip publik. ketika saya ssh ke dalam sistem (dari luar kampus), saya mendapatkan penundaan aneh 5-10 detik sebelum saya mendapatkan prompt kata sandi. Mengapa demikian?

Saya menjalankan ssh -vuntuk mendapatkan output verbose:

debug1: Roaming not allowed by server
debug1: SSH2_MSG_SERVICE_REQUEST sent
debug1: SSH2_MSG_SERVICE_ACCEPT received

.... delay of 5-10 seconds here

debug1: Authentications that can continue: publickey,password
debug1: Next authentication method: publickey
debug1: Trying private key: /home/nass/.ssh/id_rsa
debug1: Trying private key: /home/nass/.ssh/id_dsa
debug1: Trying private key: /home/nass/.ssh/id_ecdsa
debug1: Next authentication method: password

maka saya mendapatkan prompt kata sandi baik-baik saja.

saya resolv.confterlihat seperti

domain <mydomain>.edu
nameserver <dns ip address>

firewall dikendalikan oleh webmin, dan konfigurasi /etc/webmin/firewall/iptables.saveterlihat seperti:

# Generated by iptables-save v1.4.14 on Mon Feb 10 17:41:38 2014
*filter
:FORWARD DROP [0:0]
:IP_TCP - [0:0]
:INPUT DROP [0:0]
:IP_UDP - [0:0]
:OUTPUT ACCEPT [0:0]
:IP_ICMP - [0:0]
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state ESTABLISHED -j ACCEPT
-A INPUT -m state --state RELATED -j ACCEPT
-A INPUT -p tcp -m tcp --tcp-flags ACK ACK -j ACCEPT
-A INPUT -s 127.0.0.1/32 -i eth0 -j DROP
-A INPUT -p icmp -i eth0 -j IP_ICMP
-A INPUT -p udp -m udp -i eth0 -j IP_UDP
-A INPUT -p tcp -m tcp -i eth0 -j IP_TCP
-A INPUT -m limit --limit 3/second --limit-burst 3 -j ULOG --ulog-prefix "FW_INPUT: " --ulog-nlgroup 1
-A IP_ICMP -p icmp -m icmp --icmp-type 0 -j ACCEPT
-A IP_ICMP -p icmp -m icmp --icmp-type 3 -j ACCEPT
-A IP_ICMP -p icmp -m icmp --icmp-type 4 -j ACCEPT
-A IP_ICMP -p icmp -m icmp --icmp-type 11 -j ACCEPT
-A IP_ICMP -p icmp -m icmp --icmp-type 12 -j ACCEPT
-A IP_ICMP -p icmp -m icmp --icmp-type 8 -j ACCEPT
-A IP_ICMP -p icmp -j RETURN
-A IP_TCP -p tcp -m tcp --dport 2049:2050 -j DROP
-A IP_TCP -p tcp -m tcp --dport 6000:6063 -j DROP
-A IP_TCP -p tcp -m tcp --dport 7000:7010 -j DROP
-A IP_TCP -p tcp -m tcp --dport 19001 -j ACCEPT
-A IP_TCP -p tcp -m tcp --dport 12321 -j ACCEPT
-A IP_TCP -p tcp -m tcp --dport 80 -j ACCEPT
-A IP_TCP -p tcp -m tcp --dport 443 -j ACCEPT
-A IP_TCP -p tcp -m tcp -j RETURN
COMMIT
# Completed on Mon Feb 10 17:41:38 2014
# Generated by iptables-save v1.4.14 on Mon Feb 10 17:41:38 2014
*mangle
:PREROUTING ACCEPT [2386474:238877913]
:INPUT ACCEPT [2251067:225473866]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [1100410:5416839301]
:POSTROUTING ACCEPT [1100428:5416842284]
COMMIT
# Completed on Mon Feb 10 17:41:38 2014
# Generated by iptables-save v1.4.14 on Mon Feb 10 17:41:38 2014
*nat
:PREROUTING ACCEPT [211832:26633302]
:INPUT ACCEPT [444:26827]
:OUTPUT ACCEPT [1817:114098]
:POSTROUTING ACCEPT [1817:114098]
COMMIT
# Completed on Mon Feb 10 17:41:38 2014

Last but not least, seorang kolega yang juga memiliki akun di sistem yang sama langsung mendapatkan prompt!


1
Pikiran pertama adalah bahwa server telah UseDNS yesdiaktifkan. Ini terkenal karena memperlambat login. Selain itu, kita perlu melihat log debug server ( $(which sshd) -d).
Patrick

@ Patrick, sepertinya ada di sana untuk alasan yang bagus. Tapi mengapa memperlambat login saya, tetapi tidak pada kolega saya?
nass

Mengapa Anda pikir itu ada di sana untuk alasan yang bagus? Sangat mungkin ada karena tidak ada yang pernah berpikir untuk mematikannya. Dan itu mungkin memperlambat Anda karena server DNS resmi untuk netblock Anda sudah mati, atau hilang.
Patrick

@Patrick dengan baik, apakah itu tidak melakukan pemeriksaan ini untuk tujuan keamanan?
nass

@Patrick btw ini memecahkan masalah, sehingga Anda mungkin juga menulis ini sebagai jawaban
nass

Jawaban:


12

Seperti yang ditunjukkan dalam komentar, ini kemungkinan disebabkan oleh UseDNS yespengaturan di sshd_configserver.

The UseDNSPengaturan adalah penyebab umum untuk masalah ini sangat. Pada dasarnya yang terjadi adalah netblock IP Anda entah memiliki server DNS yang rusak atau hilang. Jadi sshd sedang mencoba melakukan pencarian balik pada alamat IP Anda, dan menunggu sampai waktu habis. Orang lain tidak mengalami penundaan karena mereka memiliki server DNS fungsional untuk netblock mereka.

Kebanyakan orang mematikan pengaturan ini karena alasan ini. Sementara ya, pengaturannya ada untuk keamanan, itu cukup banyak tidak berguna .

Solusinya adalah dengan mengatur hal berikut di sshd_config:

UseDNS no

1
hanya sebuah catatan: sshd_configdi debian 7 datang tanpa klausa ini di file konfigurasi. Satu harus mengetik di.
nass
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.