很多的Linux用户发现连Linux服务器的时候还要再等一下才能输入密码或者等一下才能连上,时间有些过长了,现在给大家分享一下如何解决ssh登陆慢的问题,希望对大家有所帮助 。
$ _+ S# e8 T: p. @ b6 T- O原理 % G2 _6 G R0 i7 @8 n. Y, p
SSH 登录太慢可能是 DNS 解析的问题,默认配置下 sshd 初次接受 ssh 客户端连接的时候会自动反向解析客户端 IP 以得到 ssh 客户端的域名或主机名。 4 ?# C; q- O) @/ Y4 R; z/ |" ^# F
如果这个时候 DNS 的反向解析不正确,sshd 就会等到 DNS 解析超时后才提供 ssh 连接,这样就造成连接时间过长、ssh 客户端等待的情况,一般为10-30秒左右。
Y! B7 A5 C+ [$ [# S
" ]9 B; s, O4 F, O& q
- J: t$ J& V( {0 {9 q" K% O5 _( Z4 U" l9 o4 H; ~' H! c
2 i9 E4 s8 G2 z! \5 @9 U有个简单的解决办法就是在 sshd 的配置文件(sshd_config)里取消 sshd 的反向 DNS 解析。
5 N ]4 Q7 {; }% J9 m9 m5 u! @; B; `7 x5 o K/ {+ o
解决步骤 M+ B/ x" K7 C6 W1 [
进入SSH配置,找到#UseDNS yes (i 进入编辑模式 ESC 退出编辑模式) ! J9 T3 z5 g4 r1 |) Y
- # vim /etc/ssh/sshd_config
. j. ~( p" [& Z" c " `, L; `$ H- q/ y
[color=rgb(51, 102, 153) !important]复制代码" A, H6 |) _) I2 `) C7 {
# C6 }$ {0 B, L, B2 e- C5 S3 s
& c; I( D$ k7 O" r* \# x
8 ~/ m% c% _ l: e. I7 I
- Y, @* N9 t( Q& `8 A/ V
把前面的#号删掉,然后把yes 改为no即可! * s2 f- i! s0 a
8 o0 Q# x! f" J6 _
" o1 d9 p+ f! W2 j" z) X7 y7 Y
0 s6 }: D, N: z( \8 u% x1 S; B( _" m# N( E+ n% i
然后 :wq 保存退出,再重启下ssh服务或者服务器就可以了! 9 u% K" C* P$ Z" W: d
3 l9 g2 W E: s& R0 q0 a% I3 J$ E% {只重启ssh服务:
8 d: n+ F& M1 ~0 M+ H3 w- service sshd restart& t% d) `) r4 r0 l2 x# f E& E
+ p& T/ q/ ]+ ]! c
[color=rgb(51, 102, 153) !important]复制代码3 _+ q2 T$ X: D; u0 `; W9 V2 q
$ o! O1 w- |3 l: u% D; s
, W4 m8 z' K) I
重启服务器 0 @4 h9 r k+ A
- reboot
+ v, T' k% M8 {6 {$ W \0 I
: N4 g! T' D! Z( u! g% y6 [6 G[color=rgb(51, 102, 153) !important]复制代码
8 Y6 h9 @( i9 y0 T: k. m
$ c7 o& ]* b0 i" o. \# C
6 W2 @! M9 `0 R- Y. y) |一般只需要重启SSH服务即可,下面可以去试试了 3 Y/ L/ ~6 G, o& W I; G
|