欢迎各位的光临,鄙人以好酒好菜招待~~!!^_^

SSH + sftp - 加密 remote control 和 加密 FTP

上一篇 / 下一篇  2007-05-03 18:34:05

以前人人都會用 telnet 或 FTP 去 server 存取資料, 但因為這兩樣程式都用 plain text 傳送, 所以你的密碼會好容易在半途給人盜取了之後去刧 server,反而 SSH remote 和 sftp 就不同的, 因為傳送的封包都已加密, 所以想盜取你密碼會有些高難度。其實 SSH remote control 和 sftp 都是很好用的。
\N#?G L){j]|0Linux宝库fMzK:yWd#`[
不會難用過 telnet, 也好用過 FTP, 因為如果你有用防火牆, client 又用防火牆, 在這情況下好多時 client 都會有接駁問題, 除非你開一個大 range ports, 這樣又有了安全問題, 多開一個 port, 多一個風險給駭客入到去你 server 。
[7N%{!G;S3V^0多數 Linux Distribution 都有 sshd server, ssh client 和 sftp server 包在安裝程式中, 如果你想後加或升級你可以參考以下網址:Linux宝库!Y#B7nq@8pYG1t
(舊版 openssh version 3.6.1 以下是有安全漏洞, 所以一定要用新版本)
\(Av2T&L i0http://www.openssh.com/Linux宝库8A)h7_&@6Y5?PF S

Ll6z O%y0在 Debian 安裝其實好簡單, 你只須打Linux宝库B6fT pl.{1ngq
# apt-get install sshLinux宝库BFVpzh2~
在安裝時會問你Linux宝库 K)L)bMU h dH
Allow SSH protocol 2 only ?
/{(k:{ GB0Yes
sQ3_Xs+Z#a0Do you want /usr/lib/ssh-keysign to be installed SUID root
tsRf1?.S6Bx0YesLinux宝库 o0S2k\g$I
Do you want to run the sshd server ?
!@;C2}1y WY0Yes

*ib^_5s0Linux宝库 Vwh;I[!B"Q,~wJ8T

在 Fedora Core 4 如果你在安裝作業系統時沒安裝 ssh, 你可以用 # yum search openssh, 之後用 # yum install 那幾個 openssh 程式就可以了。Linux宝库D ~ Mmg?}4U9S

Linux宝库5y-|&`bj D2|6N*Aj

安裝好後, 你會見到在 /etc 多了一個叫 ssh 的目錄, 我們須要改的是 sshd_config, 大多數 Linux Distribution 的 sshd_config script. 都是大同小異, 你只需改以下幾行就可以了。Linux宝库1OiM\Zi5@(p
# vi /etc/ssh/sshd_config

1_4r"[e%h4do~0Linux宝库?:W1w p@/Z

#在這裡我們可以改 port number, 當然這不能阻止駭客的攻擊, 但可以防止專攻 port 22 的蠕蟲或 script. kiddies。
;B$m {I*m0Port 9822Linux宝库:A w(l:o!L$Tu
#Protocol 2,1 - 舊 ssh 是用 protocol 1 的, 但現在已全改用了 protocol 2, 除非你還有好舊的機才要用 protocol 1。
D ?Tz sc0Protocol 2
"?&u;``)[ lV:C0#如果你部機用的是 dynamic IP, 就要用以下四個零 IP, 但如果你用的是 static IP, 就把那四個零改用你部機的 IP。Linux宝库W'M4N!w5m"@ha5K8N
ListenAddress 0.0.0.0Linux宝库;l$@+@b]?RO0S
# HostKeys for protocol version 2
0f0u2O)YYe|0HostKey /etc/ssh/ssh_host_rsa_key
N6?%ma ig S0HostKey /etc/ssh/ssh_host_dsa_key
1N/lGXy m%a~%`&k0KeyRegenerationInterval 1h
4O.d%WaP%k%J0ServerKeyBits 1024
3H{]r5gb:|;^:RF0SyslogFacility AUTHLinux宝库^VuvUt~+baw,U`7T
LogLevel INFO
.~D-p6o\:I q0LoginGraceTime 120
Linux宝库3t1a5l8mY0G.^u E:T
#為了安全最好不要讓 root 可以 login, 因為 root 一入到去什麼都可以做到。Linux宝库*ukE8e.m2z"z
PermitRootLogin noLinux宝库 r b(Ab8_%W9]A3OU
StrictModes yes
'L1Y,q&}'k J x0RSAAuthentication yesLinux宝库&vb"o-y4y1q
RhostsRSAAuthentication noLinux宝库"zuOs+v2n b.vX
HostbasedAuthentication no
U-MYDD2x0IgnoreUserKnownHosts yesLinux宝库v*CFS)bKRl7L[(?
IgnoreRhosts yes
Linux宝库Y\WK6_}D
#PubkeyAuthentication yes - 如果你想用 key authentication 就要選這句, 如想用 password login 就要選下面那句Linux宝库/Bp3z"E1|&g3fm e
PasswordAuthentication yes
0_ W#m3f/m(y0PermitEmptyPasswords no
H+G3NeA(J,u3FQi8p0ChallengeResponseAuthentication no
Linux宝库C%D0aa IO,m"H P
#下面這兩句是在 Fedora Core 4 已預設, 在 Mandrake 同 Debian 是沒有的Linux宝库 e;L:e]C$M SS }1p4hR
GSSAPIAuthentication yes
GMq$fRH5|/U0GSSAPICleanupCredentials yesLinux宝库1S9]|sit*[ Q ?+` L
UsePAM yes

VC^)u_XSxU0#AllowTcpForwarding yes
$Y:z3?"GI,n0#GatewayPorts noLinux宝库3f/jf!pYh/}
#X11Forwarding yes - 如果你想在第二部機開到你這部機的 Xwindow 你可以設 yes, 但不用了的時候要設回 no, 為了安全, 我們最好要設為 no。Linux宝库/^/`H VW9C
X11Forwarding no
Q+? f4n u#Ym0#X11DisplayOffset 10Linux宝库3@GUaU!NN;m,C
#X11UseLocalhost yesLinux宝库y| V2o1O%uK5D
PrintMotd noLinux宝库Ud+I;q@)X%z2F1`&O&X
PrintLastLog yes
m^8z\7w3w0TCPKeepAlive yes
Vh:L6R`BS:W0UsePrivilegeSeparation yes

E YSZ @e9A/[N0#PermitUserEnvironment no
r;tE*}7`;C!V0#Compression yesLinux宝库N%[3?wkg
#ClientAliveInterval 0Linux宝库!@+v-^@ gX0S
#ClientAliveCountMax 3
#wb"c.k[;D1M2GF0#UseDNS yes
z4B;]&R;?%tr"Z0#PidFile /var/run/sshd.pid
&N9I aH9_0KK)^lx(J0MaxStartups 10Linux宝库Qm1~ _l8L&B6w%E|
# override default of no subsystems - sftp-server 不須做任何設定已包在 ssh 內。Linux宝库J g,L:n%fRt
Subsystem sftp /usr/libexec/openssh/sftp-serverLinux宝库8r1WY t:cE _u

k.yP!B f+H2l0改好 sshd_config 後須要 restart ssh server
0R K@1r j0# /etc/init.d/sshd restart
)P |v)D]w;g^:Q0本人沒有 uncomment 的句子是在普通運作不需用的, 你可以安自己需要 uncomment, 如果想知多些以上 script. 的內容, 可以參考以下網址
6E&@4xt.rp"U5{0http://www.faqs.org/docs/linux_network/x-087-2-appl.remote.html
kU ~P7?0http://endor.clublinux.org/RHCE-32.htmlLinux宝库 t:L5}-rz8V

OS+W)S qo8r0如果想用 public key authentication 我們首先要製個 public key 出來
8Wv5a l3q)x\s7Q0$ ssh-keygen -b 2048 -t rsaLinux宝库 W6Ac G;o

l8K+?(F/W W0Generating public/private rsa key pair.
6G)t:@i o+LD0Enter file in which to save the key (/home/user/.ssh/id_rsa):
8_ K Nb FhX0Enter passphrase (empty for no passphrase):可以打你記得的句字入去或空白都可以
_:hmY3Q i0Enter same passphrase again:Linux宝库6J9qD q9Q3[v#H
Your identification has been saved in /home/user/.ssh/id_rsa.Linux宝库^KiEpXO?
Your public key has been saved in /home/user/.ssh/id_rsa.pub.Linux宝库sN(p6{kA
The key fingerprint is:Linux宝库 oA$W.}Oe1U2B4L4h
d7:bf:3e:50:4c:b8:52:5e:6c:82:c9:92:95:d6:be:67 user@yourdomain.comLinux宝库(w*a e Q7v\

o$yX|_Y0把 /home/user/.ssh/id_rsa.pub 複製過去同對面 server /home/user/.ssh 及改名為 /home/user/.ssh/authorized_keysLinux宝库$jT#DG,Go
# chmod 700 ~/.ssh
u`N4N4I B$B Il0# chmod 600 ~/.ssh/authorized_keysLinux宝库L*W1sD5Z,S y/~ X

^;S TzFz:o0參考網頁
"dq wb9L/D#zxm)X0http://www.linuxlogin.com/linux/admin/openssh.php

%~6TmJ(J0

GjqpT1?;hdI0接駁 ssh server 的方法Linux宝库[)HP7p8`#?9u
Linux宝库5?2t5eUt,l,n3w

6{6?y0H*X j0Windows 接駁去 Linux
w/Jf vW%N0Remote Control :PuttyLinux宝库*t0E&@%@.Dm"vH
http://www.chiark.greenend.org.uk/~sgtatham/putty/Linux宝库y(Z(|:v!`c/g2~ XC
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.htmlLinux宝库Mo,B M&M0Q

)~)E&}$a't cMQ0puttyLinux宝库B$PQ Hx}{0hp
我們可以用 putty 駁入去 Linux 機內和用 command line 控制部機如同坐在部機前一樣。

$~8hD] Vri'G Q0

2DrHC'_yYI0Sftp :winscpLinux宝库@ e w*y y_j+N
http://winscp.net/eng/index.phpLinux宝库!x,] S!NY.w~ }NN

E1c(SqL3O0winscp1Linux宝库M FV(z,ug%u7A!Oi
winscp2

"_qC9w#OV0Linux宝库`yi+ydcJ x/g

用 winscp 我們可以把 Windows 機硬碟, 磁碟或 CD 碟內的資料和 map 了的 network drive 內的資料複製去 Linux 機或取存 Linux 機內的資料。

1{0?I+p/L'RX8Z0Linux宝库"h5j'R E5v1K"{

Samba 同 winscp 的分別
y;[F_5C)d'nY:^0winscp 會用在 internet, 因為它有加密, 但 Samba 就會用在用了防火牆保謢的 internal network, 因為 winscp 要 encrypt 和 decrypt, 所以會慢過 Samba, 還有 Samba 也可以把不同 Linux 機內的資料互傳, 但在 winscp 就不能開 windows neighbourhood, 所以見不到那些 Linux 機。

9Y)~0ce\&{)h8U e4UF0Linux宝库!X xdW9x(B6j3J7_2K!l T

Linux 接駁去 LinuxLinux宝库Q;\5\!@P6P$L$@
我們會用 command line 接駁

:{(fG d8cL,E9n0Linux宝库gx ` `r`

# ssh -D clientport -l loginname -p destinationport destinationIP
&`-{f5M&m(p;NyW0# sftp -oPort=9822 user@host.domain.com

9f;mS/Ta!_q@gG0Linux宝库i a"r6Z*Rn(t%lU

ssh client 安全設定
lt!`5sb0http://www.hackinglinuxexposed.com/articles/20040705.htmlLinux宝库;t5hS(FthEX

b/Tt:tf7^0作者: Lisa Soeng

TAG:

 

评分:0

我来说两句

显示全部

:loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

Open Toolbar