很多的Linux用户发现连Linux服务器的时候还要再等一下才能输入密码或者等一下才能连上,时间有些过长了,现在给大家分享一下如何解决ssh登陆慢的问题,希望对大家有所帮助 。 5 v. l6 R q2 K0 q) e# M2 f
原理
* h' f: K4 a# X8 |5 { ESSH 登录太慢可能是 DNS 解析的问题,默认配置下 sshd 初次接受 ssh 客户端连接的时候会自动反向解析客户端 IP 以得到 ssh 客户端的域名或主机名。 7 r5 Y6 ]4 o8 T# v a* y8 v
如果这个时候 DNS 的反向解析不正确,sshd 就会等到 DNS 解析超时后才提供 ssh 连接,这样就造成连接时间过长、ssh 客户端等待的情况,一般为10-30秒左右。
i9 w; e/ r3 R) Q7 L3 _6 r
. n+ _7 K3 H4 B4 Z7 |
- b( \ w' u& h9 N- K$ V, u& W' b
- G+ X5 y$ |3 U4 h# e0 B8 z: n r3 {! z- n$ u) c. h: ]! D
有个简单的解决办法就是在 sshd 的配置文件(sshd_config)里取消 sshd 的反向 DNS 解析。
0 ?2 @( ?8 n k8 J7 Y c5 C( F8 S% M( d. Y
解决步骤
) R) S7 B; x2 w ^进入SSH配置,找到#UseDNS yes (i 进入编辑模式 ESC 退出编辑模式)
. w* O3 |" o5 |- # vim /etc/ssh/sshd_config
+ {0 S `& y0 d' _1 o+ i( V. g
% c7 O+ J: Y4 ` r& a4 m I[color=rgb(51, 102, 153) !important]复制代码
: e, e, [4 K% j; n( P- G, _2 d. }! D N6 B( ]' R
$ v" i/ Z! T1 e: A9 y' Z+ n+ `
0 {; q8 w8 Q: w/ W* A
' O2 n1 B Z' l2 f1 u
把前面的#号删掉,然后把yes 改为no即可!
1 n- i f8 f- }2 q1 R3 U, M7 }5 l9 }7 |9 Q
* X& S+ }# n" j# x- k
" J, v% @' P2 X8 E
4 a/ M- Y) N6 g$ _4 w
然后 :wq 保存退出,再重启下ssh服务或者服务器就可以了!
8 `) {$ J; {* t: p S6 ^# v, R: J" h& N8 v x* u6 M2 ~: A
只重启ssh服务: - I: X. j9 E7 M* j$ X
- service sshd restart/ o2 ?' r9 Z2 W
) b; \! |2 U# n5 t[color=rgb(51, 102, 153) !important]复制代码- z3 S+ G& |5 z; ]7 d
# o; v m/ k0 q. Y8 ]
2 U: ]) M/ l& K0 M重启服务器 ( s' f& M! v4 {& S! B4 {, \# |1 l
- reboot: @8 E' x8 R+ m, X# `- T6 f
, R8 I3 {4 d" z8 G6 M% b
[color=rgb(51, 102, 153) !important]复制代码
5 k9 W5 y& x; W; P- V z9 S1 J( [" c& h/ n: h M
8 ?! [* X5 d- H9 U一般只需要重启SSH服务即可,下面可以去试试了
( [/ q/ }# u3 u) K |