很多的Linux用户发现连Linux服务器的时候还要再等一下才能输入密码或者等一下才能连上,时间有些过长了,现在给大家分享一下如何解决ssh登陆慢的问题,希望对大家有所帮助 。
v; M* [( t7 |, N原理 / G( E3 q7 M7 ~6 V
SSH 登录太慢可能是 DNS 解析的问题,默认配置下 sshd 初次接受 ssh 客户端连接的时候会自动反向解析客户端 IP 以得到 ssh 客户端的域名或主机名。 * w: I9 Q! b; b, H+ s9 n. P" x
如果这个时候 DNS 的反向解析不正确,sshd 就会等到 DNS 解析超时后才提供 ssh 连接,这样就造成连接时间过长、ssh 客户端等待的情况,一般为10-30秒左右。
/ }+ [. ]% y' U" ~0 _% E
0 n2 S1 Y3 b* Z * v9 E0 `# u4 d$ C r* \
" W3 t' R) n8 ^% B
7 `; F' c7 [( J& f) x
有个简单的解决办法就是在 sshd 的配置文件(sshd_config)里取消 sshd 的反向 DNS 解析。 C7 @1 u. U0 H3 d
2 h" [6 T- a7 ]8 ?2 Y2 n6 Q; p
解决步骤 ) C' D6 C( e6 |9 m- M
进入SSH配置,找到#UseDNS yes (i 进入编辑模式 ESC 退出编辑模式)
. C3 X1 f6 l8 i8 Q$ k9 D# V- # vim /etc/ssh/sshd_config% F% S7 y8 x2 W3 J: l
- s( I9 Q' Z. |' x8 L8 S8 J" C
[color=rgb(51, 102, 153) !important]复制代码
7 Q- q% T( D6 M% \- F1 a
3 a2 V2 j* W6 }2 i * o# ~8 C9 D O# o! r' `
+ x/ A$ E6 Q. Q' G1 K# L! I4 b0 Q, p1 v; `
把前面的#号删掉,然后把yes 改为no即可!
& H0 c N! x, l6 ^; G7 [& {2 ^7 C( A# k- P# I0 }+ r0 O
- g( k+ j2 B/ c
# m" K; H( F+ ?( E% C+ ~% e& G0 E6 C" m
然后 :wq 保存退出,再重启下ssh服务或者服务器就可以了! ; v8 \6 u) ~ W# X+ T5 ?0 T( V
8 Q3 X3 |3 |7 }只重启ssh服务:
( [* J' h* L5 S- service sshd restart
0 {0 z, V; o9 H2 T4 f. | 1 d1 e9 U2 _# s) a+ D$ H. C
[color=rgb(51, 102, 153) !important]复制代码
( p$ u+ j0 R# ]8 W
0 X6 G1 T/ I- v: L/ X# X: }# p% ^$ G, \+ O6 ~7 q8 T; _& Z
重启服务器
5 W5 g7 G5 m" }3 j+ @: v" {- reboot; M0 D; e! |/ a5 D& w- o$ `
5 ~& K% _3 a/ l' ]8 Y: u% M[color=rgb(51, 102, 153) !important]复制代码
( \2 F) t1 T( r0 x4 k6 X8 r& w; `4 k) `+ L2 ]) R) _
+ w z e( Y8 F" b) [( b
一般只需要重启SSH服务即可,下面可以去试试了 3 f9 t( @6 H7 `, z+ E$ B0 R1 I
|