vi /etc/ssh/sshd_config 3 a0 d& j6 L# J% T- ^( K) y
; K$ u, B! Z; B4 @' m8 B1 T1.靽格寥閮 port (舐典銵憭 port)
6 i ~- k- h/ W( ePort <port>1 V8 d! d* ]. Y, }# w1 x1 C
" ~1 j' {' b% _* q5 _* {4 }* U& v; U
2.賜孵 ip (拍冽澆蝬脣/憭 IP 敶)
3 ], y! n5 q1 A# A2 l0 [" f0 [6 s" tListenAddress 192.168.1.107 c1 ?! e H* G( b
6 Z+ y( l+ r( P5 P3.蝳甇 root 餃
0 J/ l0 l+ \ ^7 ]+ {7 GPermitRootLogin no/ Z! d; B' \0 E# F* |) H9 D ]/ B
蝞∠敹隞亙鈭箏董餃伐 su root嚗拍 sudo 撌乩
6 _ Y! h" i9 [3 j3 X$ F$ @: g: N% ]
5 ?/ N7 Q( F8 b0 d: I3 |4.蝳甇V蝙函征撖蝣潛餃
+ H6 @3 K- v9 A; _& T. l; NPermitEmptyPasswords no
1 }& Y4 L2 c0 m* u4 Q" K/ k# ]. g$ F0 W3 b$ a. U @
5.閮望蝯孵撣唾蝢斤餃
0 d1 M5 r# m% s# iAllowUsers <user1> <user2> <user3>- L" w0 V5 c7 ^9 r
AllowGroups <group>
4 z( k& Z& j8 ODenyUsers *
+ n5 E8 F; X' G. e8 T. p! L( H4 YDenyGroups no-ssh3 O: J) X. R# E2 {8 L; L
寞撖阡嚗撠澆銝撣唾閮嚗憒 Allow 頝 Deny 閰梧蝯 Deny % L) f/ V& c# o: f5 j, r9 T
; ~, L9 G0 G% K0 g5 P
6.撱a文蝣潛駁嚗撘瑁翰雿輻 RSA/DSA 撽霅
9 X+ d i0 b" V3 {; K2 t2 C( ?RSAAuthentication yes1 H, F g4 j6 s6 g6 l: z
PubkeyAuthentication yes
9 h; z/ c% _0 k9 m7 [+ SAuthorizedKeysFile %h/.ssh/authorized_keys5 y7 E' k& D% |1 Q" i
PasswordAuthentication no
/ K' Q$ b$ Q( b4 Y" }銝衣Ⅱ靽 user ~/.ssh 甈 700嚗撠閰 user public key 亙 ~/.ssh/authorized_keys 銝准Public key Y孵舀撠 ssh-keygen
- J; S1 O' k( ?, ` E1 J$ b9 [$ B1 E1 T! i2 U3 x9 l) `
7.閮 SSHv2
7 w1 T( u* S& t1 k+ Z6 B/ mProtocol 25 R8 q% _* w! ^2 R! o5 u3 i
1 h, i8 w' x2 z$ j. o: b/ @
8.嗥孵雿輻刻蝢斤銝餅雿餃亥綽鋆∩誑 somebody handsomebody 銝臭蝙典蝣潛餃亦箔# w/ f) L8 N) `' M
Match User somebody,handsomebody
T. J$ e2 C* ^% v G$ ]: \9 ]/ c# ~PasswordAuthentication no雿輻 TCP wrappers 嗡皞 IP
3 O) b- R; Q. X+ B, L* L( O& u0 t# vim /etc/hosts.deny
6 f2 }. C" n' n7 ]& E6 {; i8 e( Z; lsshd: ALL, l- c2 q# V( z- D% |2 |% n
# vim /etc/hosts.allow" a5 O ~8 H+ n
sshd: 192.168.1 1.2.3.4 # 閮 192.168.1.* 1.2.3.4 蝺) x: K; @" U" J+ I" G: _; s, [. l8 g7 L
3 [! m) I& S: Z9 D( M! T. I
9.雿輻 iptables 嗡皞 IP
}, T) _1 g$ p& i# iptables -A INPUT -p tcp -m state --state NEW --source 1.2.3.4 --dport 22 -j ACCEPT
/ g+ c; h+ r( ~8 L# iptables -A INPUT -p tcp --dport 22 -j DROP
: m2 F. ]) F4 R/ n閮剖蝡喟嚗亙璈敺賭摮嚗閬脣 iptables 閮剖
: ]* t% a1 N6 R0 i5 y! \! \
# h3 e7 v2 y/ J7 b* [- I1 j7 N10.摰; j- C) W1 T3 I& B; V5 W5 V! h
雿臭誑雿輻其iptables訾嗅訕SH伐霈嗅其孵蝭批臭誑伐嗡銝賡乓雿臭誑其Y隞颱靘摮銝凋蝙 /second/minute/hour /day
6 A7 q4 a4 H1 o& D) r蝚砌靘摮嚗憒銝冽嗉撓乩航炊撖蝣潘摰銝找閮勗刻赤SSH嚗璅瘥冽嗅其批芾賢閰虫甈∠駁
4 k) D+ W4 N2 t1 L0 Q # iptables -A INPUT -p tcp -m state --syn --state NEW --dport 22 -m limit --limit 1/minute --limit-burst 1 -j ACCEPT
& R7 A% ?8 q9 Q8 } j # iptables -A INPUT -p tcp -m state --syn --state NEW --dport 22 -j DROP* L5 U- e. I. o& G+ f
蝚砌靘摮嚗閮剔蔭iptables芸閮曹蜓璈193.180.177.13亙訕SH嚗典閰虫甈∪仃駁詨嚗iptables閮梯府銝餅瘥閰虫甈∠駁4 v9 a9 r+ b" E' `$ x j- x
# iptables -A INPUT -p tcp -s 193.180.177.13 -m state --syn --state NEW --dport 22 -m limit --limit 1/minute --limit-burst 1 -j ACCEPT
' n4 Y/ e+ x) }1 n+ g0 [8 t # iptables -A INPUT -p tcp -s 193.180.177.13 -m state --syn --state NEW --dport 22 -j DROP0 c+ U" N V! b9 D& u1 m) p
2 @! r# {9 o' Z' E% S: w5 J11.瑼X亦賊瑼獢甈嚗銝摰典銝閮梁餃. K7 j+ F1 S* M8 z6 F
StrictModes yes& |( Y' m* Q2 W+ V% l
鈭賊瑼獢甈閮剖交航炊嚗航賡摰冽折◢芥憒雿輻刻 ~/.ssh/authorized_keys 甈亦 666嚗航賡嗡鈭箏臭誑典董
4 i. \6 R, D* `+ L2 r: T; @
! I* A w1 Z, c; j! |" j) s12.芾雿輻刻餃交憿舐內 banner (閰梯牧頝摰冽扳隞暻潮靽...? 憭扳臭誑函冗鈭斗孵頝憯鈭箏...= =a)
. e0 a8 T: P2 ]# z! t* s* \Banner /etc/ssh/banner # 隞餅摮瑼% L6 Z5 r, U7 s" e: ?6 R
5 J1 n/ M' W3 u4 M& l
13. su/sudo 4 z2 u* U5 o8 p" `, n! U
# vi /etc/pam.d/su: p- K2 J m6 n. I! ?
auth required /lib/security/$ISA/pam_wheel.so use_uid6 C: Q: N0 P! f2 j/ X
# visudo0 |6 I) k/ Q: k- X
%wheel ALL = (ALL) ALL8 x$ d# h. k; q5 B) q
# gpasswd -a user1 wheel8 B* A" G4 \7 d$ T5 q+ M
+ ?& @6 d: ^( A; I. Q1 d
14. ssh 雿輻刻" K- |$ i) w; v5 K( a: c
# vi /etc/pam.d/sshd
* C. C5 v7 T+ c4 T$ Z* B auth required pam_listfile.so item=user sense=allow file=/etc/ssh_users onerr=fail
) ?* T" C1 |$ H) i* z! A5 F# echo <username> >> /etc/ssh_users, m! w5 ^4 d9 C7 f
15.脫迫SSH蝺暹(timeout),霈PuTTY SSH 銝港蝺
% y8 K! W# J: X 靽格/etc/ssh/sshd_config) Z E0 M8 S; a* V$ d7 N( r. i
#TCPKeepAlive yes
) |* @( h; G" ?& k, @: Y/ m" x2 H5 s#ClientAliveInterval 0
# v9 D" D" K @. M' A: I+ r#ClientAliveCountMax 3
2 \1 {& G. c: g- W( `# P9 c 撠#踵==>摮瑼
3 s% S6 J5 Y* r( m9 C+ w: {1 h#service ssd restart ==>sshd! f3 {6 w" D/ F& S
乩靘靽格 Pietty 賂脣PuTTY 蝺閮剖:) y" [' z' L4 }2 K
豢Connection殷撠Seconds between keepalives [0 to turn off]喲甈雿頛詨交撟曄嚗喲銝null撠隞乩蝺
5 Q7 B/ z9 Y7 Y* }: }
8 y6 Z! S& l. ^6 r |
|