vi /etc/ssh/sshd_config
6 \) u5 w e0 v$ h6 ]2 m( q- t5 q4 o. P* ]
1.靽格寥閮 port (舐典銵憭 port)
" S& x7 s) e C( M5 X" u" lPort <port>
& o3 i) Q( Q3 o* \, t4 p. d9 S9 H
2.賜孵 ip (拍冽澆蝬脣/憭 IP 敶)" [) x$ U! |' v5 \" t
ListenAddress 192.168.1.10
& ?9 w, Y) {7 M+ I- i
5 v$ T2 O6 E+ v+ W2 |3.蝳甇 root 餃0 _# l( l4 \8 A% f* ^* v
PermitRootLogin no# ?% w2 k: s, k$ I! M2 O1 {" Z
蝞∠敹隞亙鈭箏董餃伐 su root嚗拍 sudo 撌乩
8 z: |2 z: c* [( E- B, l
. E# u2 O3 f- C# v' F: \- x& E4.蝳甇V蝙函征撖蝣潛餃
0 D* q$ {! S* k. T3 }9 jPermitEmptyPasswords no6 T3 K8 Q8 g0 c! E: B7 V$ t, ?
, W" e2 `. ]/ z7 R5.閮望蝯孵撣唾蝢斤餃
5 Q% T. L+ W; [- [AllowUsers <user1> <user2> <user3>, c( Y4 z( r u7 P2 m
AllowGroups <group>5 z1 B$ \- q) L
DenyUsers *0 |1 U- F9 T2 Z/ k' G3 b
DenyGroups no-ssh
* g# p3 T- Q$ J0 N0 y7 T# A寞撖阡嚗撠澆銝撣唾閮嚗憒 Allow 頝 Deny 閰梧蝯 Deny
; r) V' l1 t/ a# S4 Z3 ~& b0 H4 b* B- b
6.撱a文蝣潛駁嚗撘瑁翰雿輻 RSA/DSA 撽霅
' d; g/ Q; |+ tRSAAuthentication yes2 \( C0 S0 k/ N8 A9 \
PubkeyAuthentication yes
4 n& X0 ?2 t& J* b' e2 n: J( S& H/ hAuthorizedKeysFile %h/.ssh/authorized_keys- t# x$ S4 W2 E
PasswordAuthentication no+ q; {3 N5 K2 c' _' P% \
銝衣Ⅱ靽 user ~/.ssh 甈 700嚗撠閰 user public key 亙 ~/.ssh/authorized_keys 銝准Public key Y孵舀撠 ssh-keygen% o! I; k% @. K( w% x2 F' K4 e" P
" \. ?) S& k; ]9 c- D Z: o* x
7.閮 SSHv2
3 K! S" j w, D0 R) x+ \1 T$ xProtocol 2
# J/ J0 z4 M6 C: I* @) Q, [
, m3 ?: `3 v# j9 y9 B p8.嗥孵雿輻刻蝢斤銝餅雿餃亥綽鋆∩誑 somebody handsomebody 銝臭蝙典蝣潛餃亦箔+ E6 K; u3 y! X
Match User somebody,handsomebody& X- ?5 C0 B: s2 k1 p$ a2 e- L+ y1 Q
PasswordAuthentication no雿輻 TCP wrappers 嗡皞 IP
. B S5 x0 ^8 ?. z: a G- D* `2 m# vim /etc/hosts.deny
1 w8 i. d, d' Dsshd: ALL
: W) L2 T' Q7 ^' r( s1 I# vim /etc/hosts.allow; D4 M% v# T& F* s- x" V6 l
sshd: 192.168.1 1.2.3.4 # 閮 192.168.1.* 1.2.3.4 蝺
& T* y X+ x+ o! I w. i9 q' U! h8 Q/ ^$ r2 w/ v
9.雿輻 iptables 嗡皞 IP
5 X* a/ q* V* h. ^8 n7 P/ P# iptables -A INPUT -p tcp -m state --state NEW --source 1.2.3.4 --dport 22 -j ACCEPT
/ Z2 h( H* J! T* e# iptables -A INPUT -p tcp --dport 22 -j DROP% V# F. v# X) u% E; J
閮剖蝡喟嚗亙璈敺賭摮嚗閬脣 iptables 閮剖
& b+ Q+ i: t+ N4 R: v
) ?, b* W4 |6 z8 f0 r' M10.摰
6 e. W* D6 g% N U4 u* ?7 D! l雿臭誑雿輻其iptables訾嗅訕SH伐霈嗅其孵蝭批臭誑伐嗡銝賡乓雿臭誑其Y隞颱靘摮銝凋蝙 /second/minute/hour /day
9 [0 V0 Y7 j1 g蝚砌靘摮嚗憒銝冽嗉撓乩航炊撖蝣潘摰銝找閮勗刻赤SSH嚗璅瘥冽嗅其批芾賢閰虫甈∠駁7 J ?0 y4 N. c0 j
# iptables -A INPUT -p tcp -m state --syn --state NEW --dport 22 -m limit --limit 1/minute --limit-burst 1 -j ACCEPT
X, x8 E1 t' I7 k6 o- G # iptables -A INPUT -p tcp -m state --syn --state NEW --dport 22 -j DROP2 i3 u7 h- \3 _# g
蝚砌靘摮嚗閮剔蔭iptables芸閮曹蜓璈193.180.177.13亙訕SH嚗典閰虫甈∪仃駁詨嚗iptables閮梯府銝餅瘥閰虫甈∠駁/ J8 V8 K' z- S7 [1 k
# 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
9 m+ ^3 B) d' p( ? # iptables -A INPUT -p tcp -s 193.180.177.13 -m state --syn --state NEW --dport 22 -j DROP2 S: U$ B, v$ A/ k
! u1 i# `5 D: f4 G3 Z( |/ Z/ a
11.瑼X亦賊瑼獢甈嚗銝摰典銝閮梁餃5 u' x: h' j: Q9 h2 |0 k
StrictModes yes: N% ^5 N+ ^5 _) x! x
鈭賊瑼獢甈閮剖交航炊嚗航賡摰冽折◢芥憒雿輻刻 ~/.ssh/authorized_keys 甈亦 666嚗航賡嗡鈭箏臭誑典董
% u, {( A/ L3 f1 C- q$ y, h, q. w' I) D( ?4 f' P& ^3 w
12.芾雿輻刻餃交憿舐內 banner (閰梯牧頝摰冽扳隞暻潮靽...? 憭扳臭誑函冗鈭斗孵頝憯鈭箏...= =a)' u- C# @; s9 i" a
Banner /etc/ssh/banner # 隞餅摮瑼( q" w7 l6 p" G2 f, \% t
$ c8 p$ j. [2 t' A' ^ S7 L" s5 D13. su/sudo
$ l- T% A$ J5 _; T1 a( d- F/ I# vi /etc/pam.d/su
1 W! @, N$ G$ Z# t; U auth required /lib/security/$ISA/pam_wheel.so use_uid
/ O& i/ R2 [' Y8 n; ?& b# visudo6 Q. e* Y& F* ]+ x b P
%wheel ALL = (ALL) ALL
' V5 {# y7 { [1 T8 j/ ~7 H# gpasswd -a user1 wheel
, D( \2 e% S B) s6 `" `4 Q( W8 N, i6 @) ^2 _2 D1 X
14. ssh 雿輻刻8 f: J- X, z6 e' z
# vi /etc/pam.d/sshd) b; ?: o6 `7 k5 T; U
auth required pam_listfile.so item=user sense=allow file=/etc/ssh_users onerr=fail
4 ]3 \; \) O( @# echo <username> >> /etc/ssh_users
4 h5 }3 m- h1 O% w8 b7 _9 \15.脫迫SSH蝺暹(timeout),霈PuTTY SSH 銝港蝺- O5 Y2 F+ b- U& m0 C4 F
靽格/etc/ssh/sshd_config: q5 A7 s. ^& q7 g3 M
#TCPKeepAlive yes/ @1 F$ J2 I: A1 s5 m+ ~
#ClientAliveInterval 0
' \7 `$ L$ x, T* r7 ~8 L) ?#ClientAliveCountMax 3# A8 y7 u, M! \# s" E
撠#踵==>摮瑼1 x% u) p3 X: K0 }0 ~9 j8 Q
#service ssd restart ==>sshd" O0 l @- {4 w6 i
乩靘靽格 Pietty 賂脣PuTTY 蝺閮剖:+ ?# j% U; d/ p3 a p
豢Connection殷撠Seconds between keepalives [0 to turn off]喲甈雿頛詨交撟曄嚗喲銝null撠隞乩蝺, t( X e1 a. U" \( b4 p) j3 v* A
" O6 j2 ]* P( Q( |+ q2 Y0 K
|
|