wA@As峹аѦo

@A²檺觋O]hAenJAӬOzLݳsuAsu\ӵnJDA MAӶiLS@NOFC Linux DXG| sshd oӳsuAȡAӥBoӪA٬ODʶiƥ[KI TbW]whFCPɧڭٯzL rsync oӫOH sshd qDӹFaƳƴ\I۷C pGQnQιϧΤnJAw] Xdmcp tX VNC NϥιϧΤbt@ݵnJAAI pGAߺDϥ Windows ݮୱA XRDP ]nLoI

11.1 ݳsuA
@@11.1.1 OݳsuA
@@11.1.2 ǥiѵnJH
11.2 rsuAGSSH A
@@11.2.1 su[K޳N²G ͷs_
@@11.2.2 Ұ ssh A
@@11.2.3 ssh Τݳsu{ - Linux ΤG ssh, ~/.ssh/known_hosts, sftp, scp
@@11.2.4 ssh Τݳsu{ - Windows ΤG pietty, psftp, filezilla
@@11.2.5 sshd Aӳ]w
@@11.2.6 s@αKXiߧYnJ ssh ΤG ssh-keygen
@@11.2.7 ²w]w
11.3 ̭lϧΤG Xdmcp AȪҥ
@@11.3.1 X Window Server/Client [cPU
@@11.3.2 ]w gdm XDMCP A
@@11.3.3 Τtά Linux nJ觋G Xnest
@@11.3.4 Τtά Windows nJ觋G Xming
11.4 RϧΤG VNC A
@@11.4.1 w] VNC AGϥ twm window managerG vncserver, vncpasswd
@@11.4.2 VNC ΤݳsunG vncviewer, realvnc
@@11.4.3 VNC ft Xdmcp e
@@11.4.4 }NҰ VNC server k
@@11.4.5 PB VNC GiHzLϥܦPBо
11.5 ݮୱtΡG XRDP A
11.6 SSH Ai
@@11.6.1 Ұ ssh bDWf (D port 22)
@@11.6.2 H rsync iPB۳ƥ
@@11.6.3 zL ssh qD[K쥻L[KA
@@11.6.4 H ssh qDtX X server ǻϧΤ
11.7 I^U
11.8 ҫm
11.9 ѦҸƻP\Ū
11.10w糧媺ijGhttp://phorum.vbird.org/viewtopic.php?p=114550

11.1 ݳsuA

ݳsuAڭ̨ӻAiO@ܦΪuڡILiHڭ̧K޲zDC LAKkKA}@ɳiHյnJADäӦnDNA]i|wʪDoI ҥH~nSOjդ@UoӪNڡI


11.1.1 OݳsuA

Aڭ̨AѤ@UAOyݳsuAzH oӪF𫍧\ରHڷQAAӤwgťLA@}ںWAA򥻤WAiHݭnùBLB ƹPtơAun򥻪DOBCPUBRAMBwЦA[W@n@IdAåBsWںA oDNѧAݭnAȤFCpGAݭns]woDAӦpnJDo bash ӾaPiקOHNonzLsuAAȤFC

OIAqաAݳsuAbѧAѻݳzLrιϧΤ觋ӵnJtΡA Abݪu@enJ Linux DHoiޱD (shell)AӵnJ᪺ާ@PıWNbtΫe@I ҥHաAAMݭnݺALBƹBùCAunu@iH`su컷ݥDYiڡC

HӤHҡAثe޲zNQk Unix-Like DAoǥDbP@ӦaAGbnxWUBI sn骺|}QoGAΪ̬Oݭni@B~]wɭԡAO_H@wn{ܡHMݭnA unzLsuӥDWANiHiu@FIuNnbDeu@@몺Pr֡I ^_^IoNOݳsuAաI

ܦhH|Aڥ FTP ]nJbKXӵnJڡHӳoӳ`ͨ쪺nJ󤣦PH̤jPbo shell i檺u@աI ssh/telnet/VNC 觋orιϧ shell iܦhtκ޲zȡAPª FTP i檺u@MPI

Au@ݭnϥΨ Linux jj{ysĶ\ɡAA@wݭn Linux aIӥB̦nOBtק֤@IDA oӮɭԧAiHNAsdz̧֪@D}XӡA]w@UݳsuAAAǥͰաAΪ̬OsǪPաA iHzLoL̶isu@AoӮɭԡAADNiHhHi Linux B⪺\աI

|ҨӻAPXs٦ajǪѮvBPǭ̲իؤF@զAŪO[cq (PC cluster)A ثeڭ̦bӹqW] MM5 BModels3 jPŮ~ҦAnbo˪[cU]ƭȼҦ]A DnNOҶqBOC|ϥΨӲչqnhHADjabb@ùeu@HMݭnաI oɭԴNOݳsuAAȽdoI

O_C@s Internet WDӭn}񻷺ݳsu\OHäɵMA ٬OݭnwADӶiWAڭ̩UAPu@ӻG

b@ں}AȪAAѩ}񪺪Aȥi|nTAӻݳsu{siDA iHi檺u@SӦhF(XGNbDeu@@I)A]Aݳsu{q`Ȱwֳtκ@̶}ӤwI DnA_h Server Dٯuij}suAȩOI

HҡAڪDѤFڭ̬sǨϥ Mail P Internet W WWW AȡApG٥DʴѻݳsuܡA U@p߳QJIAiN˸FI]Aȶ}yܤpztκ޲zsiӡA Lӷ IP @ߩסI\ϥλݳsu\OI

ҿתu@NOѺںAȪDAȴѤjqBOϥΪ̡C JMѺںAȡAAٶ}suAFHOաIe쪺 PC cluster jqB⪺չqA ]iH٤u@A]Sѱ`AȹILnѵϥΪ̵nJvAoˤja~ΪB\ڡI ɧANonw鷺AΪ̬OSwYǨӷ}L̨ϥΧAu@oI


11.1.2 ǥiѵnJH

ثeݳsuADnǡHpGHnJsuӤA򥻤WrPϧΤءG

brnJsuAADnHyXzǰeƪ telnet AAΥH[K޳Niƥ[KAǰe SSH AIM telnet iH䴩ΤݺݳnhALѩ󥦬OϥΩXӶǰeơAAƫܮeD즳ߤHh^I ҥHӧڭ̳I~jahϥ SSH o@سsu觋

ܩϧΤsuAA²檺 Xdmcp (X Display Manager Control Protocol)A[] Xdmcp ²A LΤݺݪn֡Ct~@ڥثeܱ`ϧγsuAANO VNC (Virtual Network Computing)A zL VNC server/client nӶisCpGAQnϥ Windows ݮୱsuAӥ\ϥΪO RDP (Remote Desktop Protocol)AAion[] RDP A~C

ϧΤ̤juIOyϧΡzڡILA]OzLϧΨӶǰeAǿ骺ƶq۷jA ҥHt׻PwʳݦҶqC]Aڭ̶ȫijANϧΤݵnJA}b (LAN) NnFI

OyXzPy[Kzƫʥ]ǰeҦOH telnet ϥΩXNwHҿתXNOG yڭ̪ƫʥ]bWǿɡAӸƫʥ]eƪl榡zA ]NOAAϥ telnet nJݥDɡAOonJbKXܡHAbKXOH쥻Ʈ榡ǿA ҥHpGQ tcpdump ťn^ơA AbKNiQѨաI

ҥHաAU@Aƫʥ]̭tHΥdơBKXBT{nTɡAO_ܦMIoH ]Aثeڭ̳q`ƱϥΥiHNoǦbW]ƥ[K޳NAHW[Ʀb Internet WǰewʰڡI

ssh wAOzL ssh qDǿTɡAӰTbWwA]ƬO[KLAYϳQѨA i]|DƤeA]TwCoN ssh oӳqTwNwI̷NqPI

ѩXǿ骺 telnet, rsh suAwgQ ssh NAåBb@ǹΤWwgܤ֬ݨ telnet P rsh FA ]brWۭ󤶲 ssh ΡA]AH rsync ǥ ssh qDӶi沧aƴȵCܩϧΤh| Xdmcp, VNC P RDP I]ܦhu@ϥΪ̻ݭnܥL̦bu@@᪺ϧΧe{A]o]OܭnOI


11.2 rsuAG SSH A

ѩeݳsuAjhOXAӥBw]ǸwDA]ӴN SSH oӨwӨNWzoǩNNC SSH OOHS\H²檺ӻASSH O Secure SHell protocol ²g (wߵ{w)AiHzLƫʥ][K޳NANݶǿ骺ʥ][KAǿWA ]AưTMNwoIo SSH iHΨӨNw finger, R Shell (rcp, rlogin, rsh ), talk telnet suҦCUڭ̱N²@U SSH suҦAӻ SSH ưT|wOI

SO`NGo SSH wAbw]AANѨӦA\G

  1. @ӴNO telnet ݳsuϥ shell AAYOU٪ ssh F
  2. t@ӴNO FTP AȪ sftp-server Iѧw FTP AȡC


11.2.1 su[K޳N²

Oyƥ[KzOH²檺ANONH̬ݪolqlơAgL@ǹBAoǸܦSNqýX (ܤֹHӻ)AMAoөNNbWǿAӷϥΪ̷Qnd\oӸƮɡAAzLѱKBA NoǩNNϱXlqlơCѩoǸƤwgQsBzLAҥHAYϸƦbںWQ cracker ťѨAL̤]eNoXӭlƤeC

``A[KIOӤHPyܰաIpGAABͬwnϥΧĄqYدSOyA oӻyuĄӦNqCĄHܮɡAb䪺Hť쪺uO@SNqnA]LťڡI YϸHNAnUӡAunLDA̪SλyALNiAѧA̹ܪeoC

[ѱKB⪺P޳ND`hAڭ̳o̤hQ׽zװDAu͹ڭ̤@ǥ[ѱKӤwC ثe`ʥ][K޳Nq`OǥѩҿתyD٪_tzӳBzC DnOzL⤣@˪_Pp_ (Public and Private Key) զX@W@LG_ (key pair) A Qγo_Ӷiƪ[ѱKu@Co_ͫӪOH

ҥHjaݪ줽_AOp_oOHBⲣͪAӥΤݲͨp_öi@BզX_A ɦAPΤݨ䧡o_CƭniǰeɭԡAtη|ϥΤ_Ӷi[KAݦKXA tη|ϥΨp_ӶiѱKCѩb Internet W]ƬO[KL᪺AҥHAƤeMNwաI

_Pp_biƶǿɪܷN
11.2-1B_Pp_biƶǿɪܷN
ƥ[K޳Nu۷hA]UuIABtק֡AOwFwAO[K/ѱKt׸C ثeb SSH ϥΤWADnOQ RSA/DSA/Diffie-Hellman I

ثe SSH wءAOO version 1 P version 2 A𫟺 V2 ѩ[WFsu˴bA iHקKsuQJcNXA] V1 ٭n[wCҥHoAкɶqϥ V2 YiAnϥ V1 oC L׬OتA٬Oݭnp_[KtΪAoǤ_Pp_Op󲣥ͪOHUڭ̴Nӽͤ@ͰաI

ڭ̥iHN ssh AݻPΤݪsuBJܷNUϡAܩBJpG

ssh AݻPΤݪsuBJܷN
11.2-2Bssh AݻPΤݪsuBJܷN
  1. Aإߤ_G C@Ұ sshd AȮɡAӪAȷ|Dʥh /etc/ssh/ssh_host* ɮסAYtέw˧ɡAѩSoǤ_ɮסA] sshd |DʥhpXoǻݭn_ɮסAPɤ]|pXAۤvݭnp_(ΩĤBJ)F

  2. ΤݥDʳsunDG YΤݷQnsu ssh AAhݭnϥξAΤݵ{ӳsuA]A ssh, pietty Τݵ{F

  3. Aǰe_ɵΤG ΤݪnDAAKNĤ@ӨBJo_ɮ׶ǰeΤݨϥ (OXǰe)F

  4. ΤݰO/A_ƤHpp_G YΤݲĤ@s즹AAh|N_ưOΤݪϥΪ̮aؿ ~/.ssh/known_hosts CYOwgOLӦA_ơAhΤݷ|h惡쪺PeOO_tCY_ơA h}lpp_ơF

  5. ^Ǩp_ƨAG zLe@ӨBJo_i[KANosupұop_ƥ[KǰeAA ɥѥΤݶǰeAݪƬO[KIӦAݫhzLۤvp_ӶiѱKCɪ[KӬOVA YѥΤݥ[KeӪƥuAѱKAAeXhƥΤݬOѱKA]èSѱKp_C ]e 1~4 BJbAeΤݳoӤVAӳOXǰeF

  6. Ap_A}lV[ѱKsuG AoΤݪp_A~OzL_tζiV[ѱKF

bWz 4 BJAΤݪp_OHBⲣͩ󥻦suAҥHAosuPUsup_iN|@˰աI ~bΤݪϥΪ̮aؿU ~/.ssh/known_hosts |OgsuLD public key AΥHT{ڭ̬OsWTAC

DG
p󲣥ͷsAݪ ssh _PAۤvϥΪp_H (G`NADnbwg`B@AWA]i|yLΤݪxZI)
G
ѩAѪ_Pۤvp_m /etc/ssh/ssh_host* A]AiHo˰G
[root@www ~]# rm /etc/ssh/ssh_host*  <==R_
[root@www ~]# /etc/init.d/sshd restart
b sshd:                         [  Tw  ]
b SSH1 RSA D_:            [  Tw  ] <==UTӨBJsͪ_I
b SSH2 RSA D_:            [  Tw  ]
b SSH2 DSA D_:            [  Tw  ]
bҰ sshd:                         [  Tw  ]
[root@www ~]# date; ll /etc/ssh/ssh_host*
|  2 17 13:50:29 CST 2011
-rw------- 1 root root  668  2 17 13:49 /etc/ssh/ssh_host_dsa_key
-rw-r--r-- 1 root root  590  2 17 13:49 /etc/ssh/ssh_host_dsa_key.pub
-rw------- 1 root root  963  2 17 13:49 /etc/ssh/ssh_host_key
-rw-r--r-- 1 root root  627  2 17 13:49 /etc/ssh/ssh_host_key.pub
-rw------- 1 root root 1675  2 17 13:49 /etc/ssh/ssh_host_rsa_key
-rw-r--r-- 1 root root  382  2 17 13:49 /etc/ssh/ssh_host_rsa_key.pub
# ݤ@UWXPɮתإ߮ɶAإߪs_Bp_tΡI


11.2.2 Ұ SSH A

ƹWAbڭ̨ϥΪ Linux tηAw]Nwgt SSH ҦݭnnFIo]tFiHͱKXw OpenSSL nP OpenSSH n (1)AҥHOAnҰ SSH uO²FINLҰʴNOFI~Abثe Linux Distributions AOw]Ұ SSH AҥH@I·СA]Υh]wALNwgҰʤFI zIuOn֡LצpAڭ٬Oo@oӱҰʪ觋aIҰʴNOH SSH daemon A²٬ sshd ӱҰʪAҥHAʥiHo˱ҰʡG

[root@www ~]# /etc/init.d/sshd restart
[root@www ~]# netstat -tlnp | grep ssh
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address  Foreign Address  State   PID/Program name
tcp        0      0 :::22          :::*             LISTEN  3236/sshd

ݭn`NOA SSH ѤF shell ڭ̨ϥΡAYO ssh protocol DnتAPɥ紣ѤF@Ӹw FTP server AYO ssh-ftp server ڭ̷O FTP ӨϥΡIҥHAo sshd iHPɴ shell P ftp IӥBO[cb port 22 WOIҥHAUڭ̴NӴ@A˥ Client ݳsW Server ݩOHPɡApH FTP AȨӳsW Server åBϥ FTP \OH


11.2.3 ssh Τݳsu{ - Linux Τ

pGAΤݬO Linux ܡA򮥳ߧAFAw]pUAAtΤwgUҦOAiHwB~nI UNӤФ@UoǫOaI

SSH b client ݨϥΪO ssh oӫOAoӫOiHwsu (version1, version2)A ٥iHwDW ssh port (W ssh port 22)CLA@몺ΪkiHϥΩU觋G

[root@www ~]# ssh [-f] [-o Ѽƶ] [-p DWf] [b@]IP [O]
ﶵPѼơG
-f GݭntX᭱ [O] AnJݥDoe@ӫOLhӤwF
-o ѼƶءGDnѼƶئG
	ConnectTimeout= GsuݪơAֵݪɶ
	StrictHostKeyChecking=[yes|no|ask]Gw]O askAYn public key
           Dʥ[J known_hosts AhiH]w no YiC
-p GpGA sshd AȱҰʦbDWf (22)AݨϥΦءF
[O] GnJݥDAoeOLhCP -f NqӬۦPC

# 1. sunJDk (HnJ)G
[root@www ~]# ssh 127.0.0.1
The authenticity of host '127.0.0.1 (127.0.0.1)' can't be established.
RSA key fingerprint is aa:a3:37:49:fd:51:2e:f4:72:eb:85:c8:8d:07:2a:a1.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added '127.0.0.1' (RSA) to the list of known hosts.
root@127.0.0.1's password: <==bo̿J root KXYiI
Last login: Fri Feb 18 11:26:14 2011
[root@www ~]# exit  <==}o ssh su
# ѩ ssh ᭱S[WbA]w]ϥηebӵnJݦA

@ϥ ssh nJݥDA|gy ssh b@DIP z榡A NOAϥθӥDYbnJNCOܦhBͳwgbAYϥΡy ssh DIP z榡C pPWdұpCn`NApGgbܡA|HaݹqbӹյnJݡC ]NOApGݻPݨ㦳ۦPbA򤣼gb]SYApWdҡCOAFHߺD۷QA ٬O@}lNϥ email 觋ӵnJݥDAo˪欰ߺDnաI

WX{TA}Y RSA ᭱NOݦA_XApGTwӫXSDAANonJ yes ӱNӫXgJA_O (~/.ssh/known_hosts)AHKӤӦATʤΡC `NOng yes A¿J Y y O|Q~A ѩӥD_wgQOA]ӭƨϥ ssh nJDɡAN|X{oӫXܤFC

# 2. ϥ student bnJ
[root@www ~]# ssh student@127.0.0.1
student@127.0.0.1's password:
[student@www ~]$ exit
# ѩ[JbA] student FIt~A] 127.0.0.1 nJLA
# ҥHN|AX{ܧAnW[D_ToI

# 3. nJDLOߨ}觋G
[root@www ~]# ssh student@127.0.0.1 find / &> ~/find1.log
student@localhost's password:
# ɧA|o{edFHoO]WYO|yAAwgnJݥDA
# O檺O|]A]A|bݷCpwtΦۤv]H

# 4. PWDۦPAODۤv]ӫOAAߨ^ݥD~u@G
[root@www ~]# ssh -f student@127.0.0.1 find / &> ~/find1.log
# ɧA|ߨnX 127.0.0.1 A find O|ۤvbݦA]I

WzdҷA 4 ӽdҳ̦ΡIpGAQnݥDiOApG[W -f ѼơA A|ݹDANAXsuAoXzC]A[W -f Nܭn]A|wݥDۤv]A ӤݭnbŪŵݡCҦpGyssh -f root@some_IP shutdown -h now zOoC

# 5. R known_hosts Asϥ root su쥻AB۰ʥ[W_O
[root@www ~]# rm ~/.ssh/known_hosts
[root@www ~]# ssh -o StrictHostKeyChecking=no root@localhost
Warning: Permanently added 'localhost' (RSA) to the list of known hosts.
root@localhost's password:
# pWҥܡA|ݧA yes  no աI|gJ ~/.ssh/known_hosts I

Wұ``ϥ ssh suPǪqhݥLSXAɭԷ|g script Ӷi浪װC ɦpGCxqbDʥ[W_ɰOAonJy yes zA|֦I[Wo StrictHostKeyChecking=no NܦUաIL|߰ݦ۰ʥ[JD_ɮפA@ϥΪUjA{}ӻA oNiNܤΤFI

AnJݦAɡA|Dʪα쪺A public key h ~/.ssh/known_hosts L_A Mi橳Uʧ@G

MA ssh q`i|ܡADOApGOեΪDA]``bswˡAA_֩wg`PA GupܡAANLk~nJFIHڭ̨Ӽ@UoӦ欰aIALHաI

DG
Asw˫A]AϥάۦP IP AyۦP IP A_PAͪDPѨMDH
G
QΫe@p`L觋AR즳tΤ_AsҰ ssh A_sG
rm  /etc/ssh/ssh_host*
/etc/init.d/sshd restart
M᭫sϥΩU觋Ӷisuʧ@G
[root@www ~]# ssh root@localhost
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@    WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!     @ <==NiDAi঳D
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
1f:69:e0:8a:c6:ba:14:75:5a:b5:d5:00:f5:45:45:3c.
Please contact your system administrator.
Add correct host key in /root/.ssh/known_hosts to get rid of this message.
Offending key in /root/.ssh/known_hosts:1 <==_᭱ƦrNODƦ渹
RSA host key for localhost has changed and you have requested strict checking.
Host key verification failed.
WzX{~TASr骺abiDAG/root/.ssh/known_hosts 1 A̭_Po쪺GPA ܥiQFIHSYաIЧAϥ vim /root/.ssh/known_hosts AñN 1 (_ : ᭱ƦrNOF) RAAs ssh LAtΤS|sݧAnn[W_oINo²I ^_^

ssh OnJݦAiu@ApGAuOQnqݦAUΤWɮשOH NOϥ ssh աAӥnϥ sftp scpCoӫO]Oϥ ssh qD (port 22)AuO FTP Pƻsʧ@ӤwCڭ̥ͽ sftp AoӫOΪkP ssh ܬۦAuO ssh OΦbnJ sftp bW/UɮצӤwC

[root@www ~]# sftp student@localhost
Connecting to localhost...
student@localhost's password: <== o̽пJKXڡI
sftp> exit  <== o̴NObݧAJ ftp OaFI

iJ sftp ANb@ FTP ҦUާ@kSˤFIUڭ̴Nӽͤ@͡A sftp oӤUϥΫOaI

wﻷAD (Server) 欰
ܴؿ /etc/test ΨLؿ cd /etc/test
cd PATH
CXثeҦbؿUɦW ls
dir
إߥؿ mkdir directory
Rؿ rmdir directory
ܥثeҦbؿ pwd
ɮשΥؿs chgrp groupname PATH
ɮשΥؿ֦ chown username PATH
ɮשΥؿv chmod 644 PATH
𫟺A644 PvI^hݰ¦gI
إ߳s ln oldname newname
RɮשΥؿ rm PATH
ɮשΥؿW rename oldname newname
}ݥD exit (or) bye (or) quit
w糧 (Client) 欰([W l, L pg )
ܴؿ쥻 PATH lcd PATH
CXثeҦbؿUɦW lls
bإߥؿ lmkdir
ܥثeҦbؿ lpwd
wƤW/U欰
NɮץѥWǨ컷ݥD put [ؿɮ] []
put [ؿɮ]
pGOoخ榡Ahɮ׷|mثeݥDؿUI
NɮץѻݥDU^ get [ݥDؿɮ] []
get [ݥDؿɮ]
YOoخ榡Ahɮ׷|mbثeҦbؿIiHϥθUΦrAҦpG
get *
get *.rpm
OiH榡I

NӨA sftp b Linux UApGҼ{ϧΤALwgiHN FTP FOI]Ҧ\ೣwg[\աI]AbҼ{ϧΤ FTP nɡAiH FTP AȡAӧH sftp-server Ӵ FTP AȧaI ^_^

DG
] localhost ݦAABAW student oӨϥΪ̡CAQn (1)N /etc/hosts WǨ student aؿA (2)N student .bashrc ƻs쥻 /tmp UAӦpzL sftp FH
G
[root@www ~]# sftp student@localhost
sftp> lls /etc/hosts   <==ݬݥSoɮ
/etc/hosts
sftp> put /etc/hosts   <==ܡANWǧaI
Uploading /etc/hosts to /home/student/hosts
/etc/hosts                        100%  243     0.2KB/s   00:00
sftp> ls               <==SWǦ\HݻݥؿUɦW
hosts
sftp> ls -a            <==SɩOH
.               ..              .bash_history   .bash_logout
.bash_profile   .bashrc         .mozilla        hosts
sftt> lcd /tmp         <==ؿ /tmp 
sftp> lpwd             <==uOiT{ӤwI
Local working directory: /tmp
sftp> get .bashrc      <==SDNUaI
Fetching /home/student/.bashrc to .bashrc
/home/student/.bashrc             100%  124     0.1KB/s   00:00
sftp> lls -a           <==ݥaɮɦW
.        .font-unix   keyring-rNd7qX  .X11-unix
..       .gdm_socket  lost+found      scim-panel-socket:0-root
.bashrc  .ICE-unix    mapping-root    .X0-lock
sftp> exit             <==}aI

pGAwϥΤri FTP ǿA٥iHzLϧΤӳs sftp-server I AiHQΫ FTP `쪺 Filezilla ӶisuաI p@ӡAPAɮ׶ǿNKhFaI

q`ϥ sftp O]iणDAWɦWɮצsbApGwgDAWɮɦWFA ²檺ɮ׶ǿhOzL scp oӫOI²檺 scp ΪkpUG

[root@www ~]# scp [-pr] [-l tv] file  [b@]D:ؿW <==W
[root@www ~]# scp [-pr] [-l tv] [b@]D:file  ؿW <==U
ﶵPѼơG
-p GOd쥻ɮתvơF
-r GƻsӷؿɡAiHƻsӥؿ (tlؿ)
-l GiHǿ骺tסA쬰 Kbits/s AҦp [-l 800] Nǿt 100Kbytes/s

# 1. N /etc/hosts* ƻs 127.0.0.1 W student aؿ
[root@www ~]# scp /etc/hosts* student@127.0.0.1:~
student@127.0.0.1's password: <==J student KX
hosts                        100%  207         0.2KB/s   00:00
hosts.allow                  100%  161         0.2KB/s   00:00
hosts.deny                   100%  347         0.3KB/s   00:00
# ɦW                   i  eq(bytes) ǿt  Ѿlɶ
# AiHJӬݡAX{TANqpWҥܡC

# 2. N 127.0.0.1 oݥD /etc/bashrc ƻs쥻 /tmp U
[root@www ~]# scp student@127.0.0.1:/etc/bashrc /tmp

WǩΤUIOӫ_ (:) oIsb_᭱NOݥDɮסC ]ApG_beANNOqݥDUUӡApG_bAhNƤWǰաI ӦpGQnƻsؿܡAiH[W -r ﶵI

DG
]ɮɦW /root/dd_10mb_file Aoɮצ 10 MB ojC]AQnWǨ 127.0.0.1 /tmp UhA ӥBAb 127.0.0.1 W root oӱbϥvCѩWe_QA]AuQnO 100Kbyes/s ǿq@ʧ@A ӦpUFOH
G
ѩw]sboɮסA]ڭ̱oϥ dd ӫإߤ@ӤjɮסG
dd if=/dev/zero of=/root/dd_10mb_file bs=1M count=10
إߧAѩOWǸơA[ -l ﶵAӳtvΪO bit Aনeq bytes ݭnW 8 A]ONnoˤUFG
scp -l 800 /root/dd_10mb_file root@127.0.0.1:/tmp


11.2.4 ssh Τݳsu{ - Windows Τ

P Linux POAw] Windows èS ssh Τݵ{A]Ҧ{onULĤTn~C `nDn pietty, psftp filezilla CUNڭ̨ӽͽͳoXӳnaC

b Linux UQns SSH AAiHQ ssh oӫOAb Windows @~tΩUNonϥ pietty putty oӪNAo̪UIаѦ (2)G

b putty xWܦhniHϥΪA]A putty/pscp/psftp CL̤OF ssh/scp/sftp oTӫONOFCӳRΪ pietty hOxWLwͮھ putty ҧ睊ӦCѩ pietty F㪺ۮe putty ~AٴѤFP㪺rsXAbܦnΩOAҥHUNH pietty ӧ@oCbAU pietty AɮסAN|X{pUeoG

pietty ҰʵeܷN
11.2-3Bpietty ҰʵeܷN

bWϤbY 1 aжgDW٩Ϊ̬O IP AbY 2 Mȥ SSH @AܩbY 3 aAwX{˦A]iHק@ pietty ҳ]wȡAҥHOܿաI YSDAUysuzAN|X{pUݵnJPJb/KƪeG

pietty nJPϥεeܷN
11.2-4Bpietty nJPϥεeܷN

oӹϥܷ|AHObDeu@aIӥBWY٦iHHɽվrΡBrBrsXnҰѼơC רOrsXDAɭԧA|o{}ɮ׮ɡAMe|ýXӤO`ܡA NOsXDCnѨMoӰDɡAAncOUTӸytsXƭnۦP~G

ڭ̪D Linux sXiHzL LANG oܼƨӽվAӦpվ pietty sXOHAiHzL 11.2-4 CyﶵzӳBzApUҥܡG

վ pietty ytsX觋 (P)
11.2-5Bվ pietty ytsX觋 (P)

byﶵzyrsXz̭iHD big5 (cp950) Ϊ̬O unicode (utf8) sXAŦXA Linux PɮשxsƮ榡ArN OK աI ^_^IpGQn@ӳ]wɡAiHܹ 11.2-5 WY̩UӡyԲӳ]wzءA N|X{pUϥܡC𫟺󬰭nOyLkƦrQnͮġzɡA iHӤUϪܨӱҰʼƦr䪺\G

pietty nҸԲӳ]wAPLkƦr
11.2-6Bpietty nҸԲӳ]wAPLkƦr

NWϤbY 2 ҫӶؤĿ_ӥBUyApplyzAALkƦr~`ϥΩOA_hkƦr|OýXաC AӡAAiHվ pietty bOЦơAo˷ƤӦhɡAA¥iHվ㱲bӬd\eơC]wkpUG

վeiHOЪơAiΤ^hݸhee
11.2-7BվeiHOЪơAiΤ^hݸhee

վ㧹oDZ`ΪƫAAӳoO̭nGyAnH@Ӫ SSH tknJHzeLAڭ̹w]OH version2 ӵnJAҥHo̧ڭ̥iHվ㬰 2 ӶءIo˨CnJ|H version 2 ҦnJDFI

]wnJAɨϥΪ ssh tk
11.2-8B]wnJAɨϥΪ ssh tk

pietty ϥλP]wy{NOoˡIp@ӡAANiHb Windows WH SSH wAnJݪ Linux DPIKaI ^_^ IpGQn䴩ܡAثe pietty wg䴩աIAiHJILݭnק@UrA 11.2-5 yﶵzyrzN|X{pUϥܡG

ܤ媺rλPsX
11.2-9Bܤ媺rλPsX

N(1)r]wөB(2)r]wyBig5zAp@ӡAA pietty N䴩媺JoI

Wڭ̧@odz]wȳOb̰ڡHIOb Windows nɷڡIAiHb Windows tηAby}lz-->yzAX{خؤJyregeditzA |X{@ӤjCЦb䪺eܡy HKEY_CURRENT_USER --> Software --> SimonTatham --> PuTTY --> SessionszA NiHݨA]woI ^_^I oˡA]NiHxsA]wo

b putty xW] psftp o{Co@{Ihbϥ sftp-serverCϥΪ觋iHI psftp oɮסALҰʡAh|X{UϼˡG

psftp: no hostname specified; use "open host.name" to connect
psftp>

oӮɭԥiHJAnsWhDW١AҦpڪϰ줺 192.168.1.10 oDG

psftp: no hostname specified; use "open host.name" to connect
psftp> open 192.168.1.10
login as: root
root@192.168.1.10's password:
Remote working directory is /root
psftp> <== o̴NbݧAJ FTP OFI

Io˴NnJDաI²aIMLϥΤ觋e쪺 sftp @˭I[oϥΧaI

SSH ҴѪ sftp \uQί¤r psftp ӳsuܡHSϧΤnOHIMI NOD`Ϊ Filezilla oIFilezilla OϧΤ@ FTP ΤݳnAϥΤWD`KA ܩԲӪw˻Pϥάy{аѦ vsftpd `I


11.2.5 sshd Aӳ]w

򥻤WAҦ sshd AԲӳ]wb /etc/ssh/sshd_config ̭ILAC Linux distribution w]]wӬۦPAҥHڭ̦nAѤ@Uӳ]wȪNq~nI PɽЪ`NAbw]ɮפAunOw]X{BQѪ]w (]wȫe[ #)AYyw]ȡIzAAiH̾ڥӭק諸C

[root@www ~]# vi /etc/ssh/sshd_config
# 1.  SSH Server ]wA]tϥΪ port աAHΨϥΪKXt觋
# Port 22
# SSH w]ϥ 22 oportA]iHϥΦhportAYƨϥ port oӳ]wءI
# ҦpQn} sshd b 22 P 443 Ahh[@椺eGy Port 443 z
# M᭫sҰ sshd o˴NnFILAijק port number աI

Protocol 2
# ܪ SSH wAiHO 1 ]iHO 2 ACentOS 5.x w]OȤ䴩 V2C
# pGQn䴩ª V1 ANonϥΡy Protocol 2,1 z~C

# ListenAddress 0.0.0.0
# ťDdI|ӨҤlӻApGA IPAOO 192.168.0.100  
# 192.168.2.20 A]AuQn 192.168.0.100 iHť sshd ANo˼gG
# y ListenAddress 192.168.0.100 zw]ȬOťҦ SSH nD

# PidFile /var/run/sshd.pid
# iHm SSHD o PID ɮסIWzw]

# LoginGraceTime 2m
# ϥΪ̳sW SSH server A|X{JKXeAbӵeA
# bh[ɶS\sW SSH server Nj_uIYLhw]ɶI

# Compression delayed
# wɶ}lϥYƼҦiǿC yes, no PnJ~NY (delayed)

# 2. D Private Key mɮסAw]ϥΤUɮקYiI
# HostKey /etc/ssh/ssh_host_key        # SSH version 1 ϥΪp_
# HostKey /etc/ssh/ssh_host_rsa_key    # SSH version 2 ϥΪ RSA p_
# HostKey /etc/ssh/ssh_host_dsa_key    # SSH version 2 ϥΪ DSA p_
# ٰOoڭ̦bD SSH suy{̭ͨ쪺Ao̴NO Host Key 

# 3. nɪTƩmP daemon W١I
SyslogFacility AUTHPRIV
# Hϥ SSH nJtΪɭԡASSH |OTAoӸTnOb daemon name
# UHw]OH AUTH ӳ]wAYO /var/log/secure ̭IHѰOFI
# ^ Linux ¦h½@UCLiΪ daemon name GDAEMON,USER,AUTH,
# LOCAL0,LOCAL1,LOCAL2,LOCAL3,LOCAL4,LOCAL5,

# LogLevel INFO
# nOšIKKITIP˪AѰOFN^hѦҡI

# 4. w]wءInI
# 4.1 nJ]w
# PermitRootLogin yes
# O_\ root nJIw]O\AOij]w noI

# StrictModes yes
# O_ sshd hˬdϥΪ̮aؿάɮתvơA
# oOFߨϥΪ̱NYǭnɮתv]Ai|ɭP@ǰDҭPC
# ҦpϥΪ̪ ~.ssh/ v]ɡAYǯSpU|\ΤnJ

# PubkeyAuthentication yes
# AuthorizedKeysFile      .ssh/authorized_keys
# O_\ΤۦϥΦ諸_tζinJ欰AȰw version 2C
# ܩۻs_ƴNmϥΪ̮aؿU .ssh/authorized_keys 

PasswordAuthentication yes
# KXҷMOݭnIҥHo̼g yes oI

# PermitEmptyPasswords no
# YW@pG]w yes ܡAo@N̦n]w no A
# oӶئbO_\HŪKXnJIM\I

# 4.2 {ҳ
# RhostsAuthentication no
# tΤϥ .rhostsA]Ȩϥ .rhostsӤwFAҥHo̤@wn]w no

# IgnoreRhosts yes
# O_ϥ ~/.ssh/.rhosts Ӱ{ҡIMOI

# RhostsRSAAuthentication no #
# oӿﶵOM version 1 ΪAϥ rhosts ɮצb /etc/hosts.equiv
# tX RSA t觋Ӷi{ҡInϥΰڡI

# HostbasedAuthentication no
# oӶػPWALO version 2 ϥΪI

# IgnoreUserKnownHosts no
# O_aؿ ~/.ssh/known_hosts oɮשҰODeH
# MnAҥHo̴NO no աI

ChallengeResponseAuthentication no
# \󪺱KX{ҡIҥHA login.conf Ww{Ҥ觋AiAΡI
# ثeڭ̤wϥ PAM Ҳ޲z{ҡA]oӿﶵiH]w no I

UsePAM yes
# Q PAM ޲zϥΪ̻{ҦܦhnBAiHOP޲zC
# ҥHo̧ڭ̫ijAϥ UsePAM B ChallengeResponseAuthentication ]w no 
@
# 4.3 P Kerberos ѼƳ]wI]ڭ̨S Kerberos DAҥHUγ]wI
# KerberosAuthentication no
# KerberosOrLocalPasswd yes
# KerberosTicketCleanup yes
# KerberosTgtPassing no
@
# 4.4 UOb X-Window UϥΪ]wI
X11Forwarding yes
# X11DisplayOffset 10
# X11UseLocalhost yes
# nO X11Forwarding ءALiHƳzL ssh qDӶǰeI
# b᭱i ssh ϥΤk|ͨC

# 4.5 nJ᪺ءG
# PrintMotd yes
# nJO_ܥX@ǸTOHҦpWnJɶBaIAw]O yes
# YOCLX /etc/motd oɮתeCOApGFwAiHҼ{אּ no I

# PrintLastLog yes
# ܤWnJTIiHڡIw]]O yes I

# TCPKeepAlive yes
# FsuAA|@ǰe TCP ʥ]ΤǥHP_觋_@sbsuC
# LApGsuɤѾȮɰAȴXA]|su_I
# boӱpUA@ݦASSHiHߨ訚DIӤ|͵{Ǫo͡I
# pGAθѾ``íwAiH]w no աI

UsePrivilegeSeparation yes
# O_ϥvC{ǨӴѨϥΪ̾ާ@Cڭ̪D sshd Ұʦb port 22 A
# ]Ұʪ{ǬOݩ root C student nJAoӳ]w
# | sshd ͤ@ݩ sutdent  sshd {ǨӨϥΡAtθw

MaxStartups 10
# Pɤ\Xө|nJsueHڭ̳sW SSH AO|JKXɡA
# oӮɭԴNOڭ̩ҿתsueաIboӳsueAFO@DA
# ҥHݭn]w̤jȡAw]̦hQӳsueAӤwgإ߳supboQӷ

# 4.6 ϥΪ̩ת]wءG
DenyUsers *
# ]wתϥΪ̦W١ApGOϥΪ̡ANOקaI
# YOϥΪ̡AiHNӱbJIҦpUCI
DenyUsers test

DenyGroups test
# P DenyUsers ۦPIȩ״XӸsզӤwI

# 5.  SFTP AȻPL]wءI
Subsystem       sftp    /usr/lib/ssh/sftp-server
# UseDNS yes
# @ӻAFnP_ΤݨӷO`XkA]|ϥ DNS hϬdΤݪDW
# LpGObsAoس]w no |suFtפ֡C

򥻤WACentOS w] sshd AȤwgOwFAL٤IijA (1)N root nJvF (2)N ssh ]w 2 CL]wȴNЧA̷Ӧۤvߦnӳ]wFC q`ijiHKקաIt~ApGAקLWoɮ(/etc/ssh/sshd_config)ANݭnsҰʤ@ sshd o daemon ~IYOG


11.2.6 s@αKXiߧYnJ ssh Τ

Aγ\wgQFAJM ssh iHϥ scp ӶiƻsܡAگणN scp Om crontab AȤA ڭ̪tγzL scp bIUۦwiƻsPƥOHpA׬OGyw]pU\ʧ@zI ƻOH]w]pUAAnzLݵnJAP scp ʪJKX~ڡI crontab S|A׺ݤJKXA ҥHӵ{ǴN|@dӵLkb crontab 榨\I Hڭ̭noӦnΪƻsuܡHMOաIڭ̥iHzL_{ҨtΨӳBzI

JM SSH iHϥΪ_tΨӤơAåBѨϥΪ̸ƪ[K\AiiQγo Key NѨϥΪ̦ۤviJDAӤݭnJKXOHInDNIڭ̥iHN Client ͪ Key L Server AҥHA H Client nJ Server ɡAѩ̦b SSH nsuTǻANwgL Key FA ]AiHߧYiJƶǿ馉AӤݭnAJKXOIb@WBJiHOG

  1. Τݫإߨ_GQ@QAb_tΤAO_n٬Op_nH MOp_nI]p_~OѱKڡIҥHoAo_ͷMobo_suΤݫظm~CQΪO ssh-keygen oөROF

  2. Τݩmnp_ɮGN Private Key b Client WaؿAY $HOME/.ssh/ A åBon`NvI

  3. N_mAݪTؿPɦWhG̫AN Public Key b@ӧAQnΨӵnJAݪY User aؿ .ssh/ ̭{ɮקYiӵ{ǡC

OnܧxˤlABJu²Aڭ̨̧ǨӶi@~nFI]epUAӶi檺BJhpUϡG

s@ݭnKX ssh b򥻬y{
11.2-10Bs@ݭnKX ssh b򥻬y{

إߪk²Ab client.centos.vbird oDWH vbirdtsai ӫإߨ_ͧYiC LAݭn`NOAڭ̦hرKXtkApGwStkAhw]H RSA tkӳBzG

[vbirdtsai@client ~]$ ssh-keygen [-t rsa|dsa] <==i rsa  dsa
[vbirdtsai@client ~]$ ssh-keygen  <==ιw]kإߪ_
Generating public/private rsa key pair.
Enter file in which to save the key (/home/vbirdtsai/.ssh/id_rsa): <== enter
Created directory '/home/vbirdtsai/.ssh'. <==ؿYsbh|Dʫإ
Enter passphrase (empty for no passphrase): <== Enter KX
Enter same passphrase again: <==AJ@ Enter aI
Your identification has been saved in /home/vbirdtsai/.ssh/id_rsa. <==p_
Your public key has been saved in /home/vbirdtsai/.ssh/id_rsa.pub. <==_
The key fingerprint is:
42:20:e1:dc:62:94:44:4f:b1:46:6f:3a:5d:20:01:a4 vbirdtsai@client.centos.vbird

[vbirdtsai@client ~]$ ls -ld ~/.ssh; ls -l ~/.ssh
drwx------ 2 vbirdtsai vbirdtsai 4096  2 20 12:08 /home/vbirdtsai/.ssh
-rw------- 1 vbirdtsai vbirdtsai 1675  2 20 12:08 id_rsa     <==p_
-rw-r--r-- 1 vbirdtsai vbirdtsai  411  2 20 12:08 id_rsa.pub <==_

Ъ`NWAڪO vbirdtsai AҥHڰ ssh-keygen ɡA~|bڪaؿU .ssh/ oӥؿ̭ͩһݭn Keys AOOp_ (id_rsa) P_ (id_rsa.pub)C t~@ӭnSO`NNO id_rsa ɮvաILnO -rw------- Bݩ vbirdtsai ۤv~I_hbӪ_諸L{Ai|QPwMIӵLk\Hp_ɮתӹFsuC Aإߨp_w]vPɦWmmOTAAunˬdLSDYiC

]ڭ̭nnJ www.centos.vbird OH dmtsai A]ڭ̴NonNWӨBJإߪ_ (id_rsa.pub) WǨAW dmtsai Τ~CpWǩOH²檺kMNOϥ scp I

[vbirdtsai@client ~]$ scp ~/.ssh/id_rsa.pub dmtsai@192.168.1.10:~
# WǨ dmtsai aؿUYiC

ٰOo sshd_config ̭ͨ쪺 AuthorizedKeysFile oӳ]wȧaHӳ]wȴNObw_ӭnmɦWoIҥHAڭ̥nAݪ dmtsai oӥΤᨭUA NWǪ id_rsa.pub ƪ[ authorized_keys oɮפ~C@kIoˡG

# 1. إ ~/.ssh ɮסA`Nvݭn 700 I
[dmtsai@www ~]$ ls -ld .ssh
ls: .ssh: S@ɮשΥؿ
# ѩiOsتΤA]oӥؿsbCsb~@Uإߥؿ欰

[dmtsai@www ~]$ mkdir .ssh; chmod 700 .ssh
[dmtsai@www ~]$ ls -ld .ssh
drwx------ 2 dmtsai dmtsai 4096  2 20 21:16 .ssh
# v]wAȥO 700 BݩϥΪ̥HbPsդ~I

# 2. N_ɮפƨϥ cat s authorized_keys 
[dmtsai@www ~]$ ls -l *pub
-rw-r--r-- 1 dmtsai dmtsai 411  2 20 20:46 id_rsa.pub <==T꦳sb

[dmtsai@www ~]$ cat id_rsa.pub >> .ssh/authorized_keys
[dmtsai@www ~]$ chmod 644 .ssh/authorized_keys
[dmtsai@www ~]$ ls -l .ssh
-rw-r--r-- 1 dmtsai dmtsai 411  2 20 21:20 authorized_keys
# oɮתv]wANonO 644 ~iHIiHdVFI


o˴Ndw_toIHAq client.centos.vbird vbirdtsai nJ www.centos.vbird dmtsai ΤɡA Nݭn󪺱KXoI|ҨӻAAiHo˴լݬoG

DG
zLWzרҽmߦ\AЦb client vbirdtsai ANtΪ /etc/hosts* ɮ׽ƻs www.centos.vbird dmtsai Τ᪺aؿC
G
[vbirdtsai@client ~]$ scp /etc/hosts* dmtsai@192.168.1.10:~
hosts                                        100%  187     0.2KB/s   00:00
hosts.allow                                  100%  161     0.2KB/s   00:00
hosts.deny                                   100%  347     0.3KB/s   00:00
# A|o{A쥻|X{ӱKXܸƤ|X{FI

[vbirdtsai@client ~]$ ssh dmtsai@192.168.1.10 "ls -l"
-rw-r--r-- 1 dmtsai dmtsai 187  2 20 21:26 hosts
-rw-r--r-- 1 dmtsai dmtsai 161  2 20 21:26 hosts.allow
-rw-r--r-- 1 dmtsai dmtsai 347  2 20 21:26 hosts.deny
-rw-r--r-- 1 dmtsai dmtsai 411  2 20 20:46 id_rsa.pub
# T꦳ƻshFIܥXTݸƭI

²檺BJaIoˤ@ӡAϥ ssh ΤݫONiHݱKXFILצpAbإߪ_tΪBJAnOoOG

ӡAAٷQnnJLDɡAunNA public key (NO id_rsa.pub oɮ) L copy LDWhAåBsWYb ~/.ssh/authorized_keys oɮפII\I


11.2.7 ²w]w

ѹ껡AjaQySSH OӦwAȡzҴFFI sshd äwI½} openssh LhvӬݡAT꦳ܦhHOQ ssh {|}ӨoݥD root vAi@B±𫍧DIҥHoN໡ܡA]OܦwաI

sshd ҿתywzOy sshd ƬO[KLAҥHLƦb Internet WǻɬOwCܩ sshd oӪAȥNO˦wFIҥHGyDnAnN sshd Internet }inJvAɶq]bXӤpd򤺪 IP ΥDW٧YiIoܭnI

nFAw]w譱ASȱo`NOHMOաIڭ̥iHijXӶاaIOiHѩUoT譱ӶiG

@ӨAoɮתw]شNwgܧƤFIҥHAƹWOӻݭnʥLI OApGAǨϥΪ̤譱U{AiHo˭ץ@ǰDOI

FWzb~ALΤhiH`ϥΨtΡC{b]Atθ̭wg sshnot1, sshnot2, sshnot3 [J nossh sաA Pɨt٦ testssh, student bCbBzЦۦѦҰ¦gӳ]wAUȬOCX[IG

# 1. [@UһݭnbO_sbOH
[root@www ~]# for user in sshnot1 sshnot2 sshnot3 testssh student; do \
> id $user | cut -d ' ' -f1-3 ; done
uid=501(sshnot1) gid=502(sshnot1) groups=502(sshnot1),501(nossh)
uid=502(sshnot2) gid=503(sshnot2) groups=503(sshnot2),501(nossh)
uid=503(sshnot3) gid=504(sshnot3) groups=504(sshnot3),501(nossh)
uid=504(testssh) gid=505(testssh) groups=505(testssh)
uid=505(student) gid=506(student) groups=506(student)

# 2. ק sshd_config åBsҰ sshd aI
[root@www ~]# vim /etc/ssh/sshd_config
PermitRootLogin no  <==b 39 AЮѥBק令o
DenyGroups  nossh   <==UoiH[bɮת̫᭱
DenyUsers   testssh

[root@www ~]# /etc/init.d/sshd restart

# 3. ջP[bnJpaI
[root@www ~]# ssh root@localhost  <==ýпJTKX
[root@www ~]# tail /var/log/secure
Feb 20 22:02:00 www sshd[16472]: pam_unix(sshd:auth): authentication failure;
logname= uid=0 euid=0 tty=ssh ruser= rhost=localhost.localdomain  user=root
# A|o{X{oӿ~TAӤOKXJ~ӤwC

[root@www ~]# ssh sshnot1@localhost  <==ýпJTKX
[root@www ~]# tail /var/log/secure
Feb 20 22:04:38 www sshd[16481]: User sshnot1 from localhost.localdomain not 
allowed because a group is listed in DenyGroups

[root@www ~]# ssh testssh@localhost  <==ýпJTKX
[root@www ~]# tail /var/log/secure
Feb 20 22:06:41 www sshd[16490]: User testssh from localhost.localdomain not 
allowed because listed in DenyUsers

qWGӬݡAAN|o{APnJb|ͤ@˪nɵGC]AAѬOLkQϥ ssh nJY@DɡAOoӦAWhˬdݬݵnɡAwN|QAѨMDoI

|ҨӻAA sshd uQHΰϺDӷnJܡANo˧@G

[root@www ~]# vim /etc/hosts.allow
sshd: 127.0.0.1 192.168.1.0/255.255.255.0

[root@www ~]# vim /etc/hosts.deny
sshd : ALL 

hXhO@]ܦnIҥH]iHϥ iptables I ѦҡGĤEBP NAT Aڸ}{AAӦb iptables.rule N port 22 \AMA iptables.allow ̭sWoG

[root@www ~]# vim /usr/local/virus/iptables/iptables.allow
iptables -A INPUT -i $EXTIF -s 192.168.1.0/24 -p tcp --dport 22 -j ACCEPT
[root@www ~]# /usr/local/virus/iptables/iptables.rule

WzkBzApGA٬O@վAOonN]w٭^I̫A yI~jaAn} SSH nJvҦ Internet WDz oܭn]pGiH ssh iJADA...ӦMIF


11.3 ̭lϧΤG Xdmcp AȪҥ

Ҽ{@ӱpApGA Linux DDnOΨӧ@ϧγBzɡAӥBPɦhHݭnΨ쨺ӥ\A @ Linux O_@ȯണѤ@ӤHBzӳnOHKKIi@wI] Linux ۷uq X Window System ڡI{bNӽͽͲĤ@ӹϧΤݳsuAaI


11.3.1 X Window Server/Client [cPU

ѩڭ Linux ϥΪϧΤOҿת X-Window System FAoNO󥭥xAثeb Linux WY}oϧΤnAXGOϥγo X [cӳBzAҥHoAAND X Window աI ڭ̦b¦gĤTGQ|wgL X Window աA ]o̥u|@²檺СAHKjaAѬڭ̪nOow˻P]wI

X Window System bB@L{AS]ƤPӤ X Server P X Client ص{ǡAMO X Server/Client A OL@ΫoPD Server/Client [cjӻ X Server/Client oص{ǩҭtdȥG

``}A X server NOeA X client NO⮳eeaCAone (޲znҦiܪw) eaQk (pXӪøϼƾ) ~øseWI

ѩC@ X client OWߦsb{ǡA]bϧܷ|oͤ@|ϪD (Q@UC@ X client O@ӫܦۧڪeaA Cӵeaӻ{𫍧sbAU۪beW@eA̫᪺G|OpH)C]AӴN@կS X client bi޲zҦL X client {Ao`ުNNNO Window ManagerI

JM X Window System O Linux W@յ{A򥦦pҰʪOHϥΪ̦bnJtΫAnۤvҰ X server {AMAҰʭӧO Window manager AYLݨDAAҰʨLB~ X client NOFCo·СIҥHF²ƱҰʭӤHϧΤBJA٦ҿת Display Manager (DM) oNI

bثesX Linux distributions Aq`ҰʹϧΤϥΪ̵nJ觋AO Display Manager {A ӵ{|DʸJ@ X Server {AMAѤ@ӵݿJbKX{AAھڨϥΪ̪ܥhҰʩһݭn Window Manager {A̫NѨϥΪ̪ާ@ WM ӪϧΤoC

DG
b CentOS 5.x AYw] init 5 pUA̲ױҰʹϧΤO@{H
G
R /etc/inittab |o{UoG
x:5:respawn:/etc/X11/prefdm -nodaemon
AiHR /etc/X11/prefdm eANo{ӦҰʪNO@ X display manager {FI

DG
nJ init 5 CentOS 5.x eA tty1 hd\@U X server Oѭ@{ҳH
G
ڭ̥iHzL pstree [{ǶʳIPɪ`NAw] CentOS 5.x X server {W٬ Xorg C
[root@www ~]# pstree -p
init(1)wswacpid(1978)
....(ٲ)....
         uwanacron(2189)
         uwgdm-binary(2318)wwwgdm-binary(2390)wswXorg(2395)
         x                                          |wgdmgreeter(2416)
....(᭱ٲ)....
ѤWzƨӬݡA gdm-binary iH Xorg IPzAڭ̤]|Dѻ{ҪϧεeӬO gdmgreeter ҴѪI

X server, X client bP@DWɭԡAAiHܻPҰʤ@ӧ㪺 X Window SystemC OpGAQnzLoӾbWҰ X OHɧAobΤݱҰʤ@ X server NϧΤøϩһݭnw˸mtmnA åBҰʤ@ X server `f (q`O port 6000)AMAѦAݪ X client oøϼƾڡAANøsoC zLoӾAAiHb@Ұ X server nJAIӥBާA@~tάOԣOINqNUϡA p@ӡAANiHoAҴѪϧΤҰաI

X server/client [c
11.3-1BX server/client [c

OpGAOϥγ̲ªkbΤݦۤvҰ X server AMbiDAN X client {@Ӥ@ӪJ^ӡA NӲ֤HFaIڭ̤eWOLiH display manager Ӻ޲zϥΪ̪nJPҰ X ܡHAणണѤ@AȡA ڭ̪zLA display manager Nѧڭ̵nJ{һPJۤvܪ window manager ܡAo˴NӴΤFI FܡHMiHڡINOzL Xdmcp (X display manager control protocol) (3) աI

Xdmcp Ұʫ|bA udp 177 }lťAMΤݪ X server suA port 177 A ڭ̪ Xdmcp N|bΤݪ X server WϥΪ̿JbKϧΤ{oIANzLo Xdmcp hJAҴѪ Window Manager X client oIANoϧΤݳsuAI٧aI

򤰻ɭԷ|X{hϥΪ̳sJAo X pOHHҤlӻAǦ@ Linux biƭȼA LXGO NetCDF ɮסAڭ̥ϥ PAVE o@MnhBzoǸơCOڭ̦TӤHPɳ|ϥΨ쨺ӥ\A Linux DOb[ḓAnڭbӤppŶeyۡzާ@qAiuOQHڡ oӮɭԡAڭ̴N|[]ϧΤݵnJAAڭ̥iHyhHPɥHϧΤnJ Linux DzӾާ@ڭ̦ۤv{ǡIܴΡAOܡI


11.3.2 ]w gdm XDMCP A

JMOҿת Xdmcp wAO_NۻP X display manager OHSաI Xdmcp wO DM {ҴѪC ڭ̪ CentOS w] DM GNOME oӭpeҴѪ gdm I]AAQnҰ Xdmcp AȡANonw gdm oӵ{ӳ]woC o gdm ]wƳmb /etc/gdm/ ؿUAӧڭ̩ҭnק諸]wɨȬO@ /etc/gdm/custom.conf (4) ɮצӤwC

X11 Ѫ display manager xdm AӵۦW KDE P GNOME ]ۤv display manager ޲z{ǡAOO kdm P gdm CAiHzLT̤@̪ display manager ]wɨӱҰ xdmcp oӨwO
[root@www ~]# vim /etc/gdm/custom.conf
[security]           <==b 44 楪k
AllowRemoteRoot=yes  <==xdmcp w]\ root nJAoγoӶؤ~H root nJ
DisallowTCP=false    <==oӶئb\Τݨϥ TCP 觋su xdmcp

[xdmcp]              <==b 46 楪k
Enable=true          <==Ұ xdmcp ̭noI
# WzSr骺NOAonۤvsWeoI

[root@www ~]# gdm-restart
# WzoӫO|A X sҰʡA]oӫOUFɡAOo X ƭnxs

[root@www ~]# netstat -tulnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address  Foreign Address   State    PID/Program name
tcp        0      0 0.0.0.0:6000   0.0.0.0:*         LISTEN   2704/Xorg
tcp        0      0 :::6000        :::*              LISTEN   2704/Xorg
udp        0      0 0.0.0.0:177    0.0.0.0:*                  2323/gdm-binary
# Wz port 6000 O DisallowTCP=false رҰʪA port 177 ~Oڭ̭n

Wzʧ@Ob runlevel 5 UҰʪA]A]iHQΡy init 3 && init 5 zӭsҰʹϧΤC pGAOb runlevel 3 UåBƱܧ󦨬 runlevel 5 OHSӦpҰ port 177 ڡHpGOo˪ܡA AiHo˱Ұ xdmcp աG

[root@www ~]# init 3
[root@www ~]# runlevel
5 3 <==䪺Oe@ runlevelAk䪺OثeA]ثeO runlevel 3
[root@www ~]# gdm   <==o˴NҰ xdmcp oI
[root@www ~]# vim /etc/rc.d/rc.local
/usr/sbin/gdm

{bADpbP runlevel Ұ xdmcp FaHpGO runlevel 5 A]b /etc/inittab Nwg۰ʱҰ gdm FA ҥHAunQҰ runlevel 5 YiCpGAOb runlevel 3 ܡA]o gdm N|QtΪҰʬy{ҰʡA Aunۤvb /etc/rc.d/rc.local ̭wҰʥLoIoAѩIHUӡAAon}ΤݹA port 177 su~I ЦۦקAWhA} udp port 177 aIo̰]Aϥγ}AAo˧@NnFG

[root@www ~]# vim /usr/local/virus/iptables/iptables.rule
iptables -A INPUT -p UDP -i $EXTIF --dport 177 --sport 1024:65534 \
> -s 192.168.1.0/24 -j ACCEPT #xdmcp

[root@www ~]# /usr/local/virus/iptables/iptables.rule
[root@www ~]# iptables-save | grep 177
-A INPUT -s 192.168.1.0/255.255.255.0 -i eth0 -p udp -m udp --sport 1024:65534 
--dport 177 -j ACCEPT  <==oOP@I
# T꦳} port 177 AӥBO udp fIn`NoӶءC

11.3.3 Τtά Linux nJ觋

ѩ Linux NO X server ѨӪA]ϥ Linux nJݪϧΦAO²檺աI O]Ұ X 觋PӤwƺرҰʤ觋AUڭ̴Nӱ`Ұʤ觋G

pGAΤݤwgb runlevel 5 FA]Awg@ X ҡAoҪܲ׺ݾN٬y :0 zC b CentOS 5.x ҤAoӹϧΤ :0 Ob tty7 ׺ݾաIѩwg@ X FA]Anbt~׺ݾҰʥt@ X ~Iӷs X N٬ :1 Aq`Nb tty8 աI] X server n X client nv~A ҥHAob}񱵨ӦۦA X client ơC

~AMAbΤݬOHDʪ觋sA udp port 177 AOA X client o|DʪsAΤݪ X serverA]AAn}ӦۦAݥDʹA TCP port 6001 (]O :1 ) su~INӹ갵ݬݡG

# 1. b X Window eAҥΤ@ shell AMJG
[root@client ~]# xhost + 192.168.1.10
192.168.1.10 being added to access control list
# ]ڭ诊 Linux D IP  192.168.1.10

# 2. }lҰʨA]ڭ̱Ұ port 6001 AҥHAbΤݳo˧@G
[root@client ~]# vim /usr/local/virus/iptables/iptables.allow
iptables -A INPUT -i $EXTIF -s 192.168.1.0/24 -p tcp --dport 6001 -j ACCEPT

[root@client ~]# /usr/local/virus/iptables/iptables.rule
[root@client ~]# iptables-save
-A INPUT -s 192.168.1.0/255.255.255.0 -p tcp -m tcp --dport 6001 -j ACCEPT
# nݨWo@~I

# 3. br (Ҧp tty1) UJpUOG
[root@client ~]# X -query 192.168.1.10 :1
# iJ X Window oI

pG@QܡAAb client.centos.vbird N|ݨpUe(`NDW)G

bΤݳsW Xdmcp \e
11.3-2BbΤݳsW Xdmcp \e

bWϤJTbPKXAAb tty8 (:1) N|ӵoIApGQn^쥻A N^ tty7 (:0) Yi\IQn tty8 ӦpOnHAb tty8 nXաA]nXA tη|s}@ӵݵnJeAA٬OSkCAon^Ұ X tty1 MU [ctrl]-c _suYiI

pG``b tty7, tty8 ӥhܡAӷ|ѰO쩳bӤFAרOAୱ@Ҥ@ˮɡA NP_FCSkb tty7 Ұʥt@ӵӸJݦAϧΤOHiHANzL Xnest aI oOݭnb X ҤUϥγI²ΪkpUG

[root@www ~]# Xnest -query DW -geometry ѪR :1
ﶵPѼơG
-query    G᭱ xdmcp ADW٩ IP o
-geometry G᭱eѪRסAҦp 1024x768  800x600 ѪR

# ھڤWzơAϥ 800x600 sW 192.168.1.10 DG
[root@www ~]# Xnest -query 192.168.1.10 -geometry 800x600 :1

pG@QܡAAN|b tty7 X ҤUݨpUe (UeOwgnJpI)

bΤݪ X QsW Xdmcp e
11.3-3BbΤݪ X QsW Xdmcp e

@}lϥܷ|P 11.3-2 @ˡANOX{JbKeApGJTbKA N|X{WzϥܤFCJӬݤ@Ue׺ݾYAAN|o{TOⳡDୱOIo˦SδΡH ^_^I no X N²hFIUAΪ̬O_ Xnest {YiC


11.3.4 Τtά Windows nJ觋G Xming

ѩ Windows èSѹw] X server A]ڭ̱onۦw X server b Windows W~C ثe` X server UoXӡG

𫟺 X-Win32 P Exceed ݩӷ~nA Xming hݩ󻴶qŪۥѳnAOqŨëDnA ӬO] Xming ɮׯuܤpAӸӦ\ೣFAҥHOܤ઺@ӳnI]UOH Xming (5) @dҨӤЪC

  1. wˡGAiHϥιw]kA@U@BwˤUhANQw˦n Xming oM X server noC

  2. ҰʡGЦby}lz-->y{z-->yXmingz-->yXLaunchz}ҳ]wsu xdmcp 觋CUڭ̷|ϥΰϺs (broadcast) ӧ xdmcp A觋CҰ XLaunch |X{pUϥܡG

    Xming  Xdmcp s觋ܷN
    11.3-4BXming Xdmcp s觋ܷN

    OoWϥܭn One window Fullscreen One window without titlebar ~ϥ XDMCP IܧyU@Bz N|X{pUeG

    Xming  Xdmcp s觋ܷN
    11.3-5BXming Xdmcp s觋ܷN

    Wzϥܷ@Tضǻ X client kAboӤp`ڭ̭ns xdmcp AҥHAonܲĤTӳIAU@B|X{UϡG

    Xming  Xdmcp s觋ܷN
    11.3-6BXming Xdmcp s觋ܷN

    o̷MNOsAQnsWh xdmcp AoINL IP WhaIAU@BhG

    Xming  Xdmcp s觋ܷN
    11.3-7BXming Xdmcp s觋ܷN

    WϪػPƪ۽ƻsKWAOdw]ȧYiCUU@BaI

    Xming  Xdmcp s觋ܷN
    11.3-8BXming Xdmcp s觋ܷN

    X{WϴNO]wFAUyzAAN|o{pP 11.3-2 eX{AAN}lb Windows UsWϧΤ Linux Server oIܻPaI

qW]wA|o{A XDMCP ׬Ob Server ٬O Client ]wW²IOɭԧANO|o{A Ҧʧ@FAONOSksW Xdmcp AI̮eoͿ~NOաI]Mڭ̥ΤݱҰ X server A|DʳsuAݪ Xdmcp (port 177)AOAUӫoOADʳsuڭ̥Τݪ X server (iO port 6000~6010)C ]ApGAuO]wFAӤwAܥiX{DӴNOΤݪѰO}ѦADʳsuWhoI oIOnjaI


11.4 RϧΤG VNC A

NpPWY쪺Aϥ xdmcp i|ҰʦhӤPfAɭP]wWxZǡCS²@IϧΤs觋H ٦ܦhաAbo̧ڭ̥@Ӥ²檺ANO VNC (Virtual Network Computing) oNաI(6)


11.4.1 w] VNC AGϥ twm window manager

VNC server |bAݱҰʤ@ӺťΤnDfA@fXb 5901 ~ 5910 CΤݱҰ X server su 5901 A VNC server AN@w]wn X client zLoӳsuǻΤݤWA̲״NbΤܦAϧΤFC

Lݭn`NOAw] VNC server OWߴѵy@z@ӥΤݨӳsuA]Anϥ VNC ɡA AsuAhҰ VNC server YiCҥHA@ӻA VNC server OϥΤʱҰʪAMϥΧA AN VNC server YiCӧ@k²IAiHo˧@G

[root@www ~]# vncserver [:X] [-geometry ѪR] [options]
[root@www ~]# vncserver [-kill :X]
ﶵPѼơG
:X     GNON VNC server }bӰfApGO :1 hN VNC 5901 f
-geometry GNOѪRסAҦp 1024x768  800x600 
options   GL X ﶵAҦp -query localhost 
-kill     GNwgҰʪ VNC fRI̾ڨC

[root@www ~]# yum install vnc-server
# oӬOnAn

# N VNC server Ұʦb 5903 f
[root@www ~]# vncserver :3

You will require a password to access your desktops.

Password:  <==J VNC suKXAoOإ VNC ɩһݭn
Verify:    <==AJ@ۦPKX
xauth:  creating new authority file /root/.Xauthority
xauth: (stdin):1:  bad display name "www.centos.vbird:3" in "add" command

New 'www.centos.vbird:3 (root)' desktop is www.centos.vbird:3

Creating default startup script /root/.vnc/xstartup
Starting applications specified in /root/.vnc/xstartup
Log file is /root/.vnc/www.centos.vbird:3.log

[root@www ~]# netstat -tulnp | grep X
tcp        0      0 0.0.0.0:5803   0.0.0.0:*      LISTEN      6322/Xvnc
tcp        0      0 0.0.0.0:5903   0.0.0.0:*      LISTEN      6322/Xvnc
tcp        0      0 0.0.0.0:6003   0.0.0.0:*      LISTEN      6322/Xvnc
tcp        0      0 :::6003        :::*           LISTEN      6322/Xvnc
# wgҰʩһݭnfoI

bWzOާ@AAnDXӶجOG

  1. KXܤֻݭnӦr
  2. ̾ڨϥ vncserver ANإߪKXmӱbaؿUCҦpWzOϥ root A]KXɷ|b /root/.vnc/passwd oɮפOYɮפwgsbAh|X{إ߱KXeC
  3. Τݳsu\AAN|ǰe /root/.vnc/startx X client ΤݳI

pGAQnק VNC KXOH²ANϥ vncpasswd aI

[root@www ~]# ls -l /root/.vnc/passwd
-rw------- 1 root root 8  2 22 12:31 /root/.vnc/passwd
[root@www ~]# vncpasswd
Password:  <==NOo̶}lJsKXڡI
Verify:
[root@www ~]# ls -l /root/.vnc/passwd
-rw------- 1 root root 8  2 22 12:44 /root/.vnc/passwd
# ݧaIɶsIoɮתeʹLoI

UӶ}l 5903 oӰfsuWhaI]wpi|} 11 VNC fAҥHܤ@f} 11 ӰfaI

[root@www ~]# vim /usr/local/virus/iptables/iptables.allow
iptables -A INPUT -i $EXTIF -s 192.168.1.0/24 -p tcp --dport 5900:5910 -j ACCEPT

[root@www ~]# /usr/local/virus/iptables/iptables.rule
[root@www ~]# iptables-save
-A INPUT -s 192.168.1.0/255.255.255.0 -p tcp -m tcp --dport 5900:5910 -j ACCEPT
# nݱoWo~ OK I

11.4.2 VNC Τݳsun

P xdmcp աA VNC Τݦb Linux tΤWw]nAOb Windows tΤWhnB~w˨LnC ڭ̥ӽͽ Linux VNC ΤnaI

Φb Linux Τݪ VNC {ANO vncviewerCuOAoӳnw]SwˡAҥHAonϥ yum w˧AӳsuaIL@˭n`NAAݪ@˭n]wIM}lbΤݪϧΤW橳UơG

[root@www ~]# yum install vnc
[root@www ~]# vncviewer 192.168.1.10:3
# oӫOФ@w@wnbϧΤW~IܭnIOѤFI
b Linux Τݰ vncviewer {ǥܷN
11.4-1Bb Linux Τݰ vncviewer {ǥܷN

bWϷJ𫍧 root VNC suKXAЪ`NAO VNC suKXAӤO root nJKXI o̬OtܦhI]ѩҰ VNC O root A]o̤~ϥ root VNC suKXC ҥHAܦhɨAڭ̳OijϥΤ@먭ӱҰ VNC server աIAJT VNC suKXA |X{pUϥoG

b Linux Τݰ vncviewer {ǥܷN
11.4-2Bb Linux Τݰ vncviewer {ǥܷN

A|o{bWϤA VNC euOڡIӥBw]Ȧ@Ӳ׺ݾӤwCoNO twm eoC su\AЦbΤo vncviewer suA]Uӧڭ̭ndzƥ Windows suA port 5903 oI

Windows UiΪ vnc client n餣֡AOxO realvnc oaqX~ GNU ۥѳnI AiHbUsU²檺AOοۥѳn骩I

Цۦw˥A˦nХѡy}lz-->y{z-->yRealVNCz-->yVNC viewer 4z-->yRun VNC ViewerzAMN|ݨpUeG

Windows Real VNC ΤݳsuܷN
11.4-3BWindows Real VNC ΤݳsuܷN

pWϩҥܡAAb server W IP:port ƧYiAMUyOKzaI

Windows Real VNC ΤݳsuܷN
11.4-4BWindows Real VNC ΤݳsuܷN

ѩ VNC server ݭnȬOsu VNC KXӤwA]WϤ Username iHζAѹ껡Aoӵ{]|A I񧹫UyOKzYiIUӴN|X{TeoI

Windows Real VNC ΤݳsuܷN
11.4-5BWindows Real VNC ΤݳsuܷN

11.4.3 VNC ft Xdmcp e

] VNC w]eOoA xdmcp ~Oo򪺺}GA򦳨SkzL VNC suӨo xdmcp eܡH iHINbAzLUOӳBzYiIn`NAAnwgҰʤF xdmcp FI ӥBAڭ̩Uϥ student ӱҰʳo VNC aI

# 1. nTw xdmcp wgҰʤF~iHG
[root@www ~]# netstat -tlunp | grep 177
udp        0      0 0.0.0.0:177   0.0.0.0:*      2901/gdm-binary
# OK IT꦳ҰʪաIpGSݨ 177 ܡA^ 11.3 hBzBz

# 2.  studentAåBҰ VNC server b :5
[root@www ~]# su - student
[student@www ~]$ vncserver :5 -query localhost
You will require a password to access your desktops.

Password:
Verify:
xauth:  creating new authority file /home/student/.Xauthority
xauth: (stdin):1:  bad display name "www.centos.vbird:5" in "add" command

New 'www.centos.vbird:5 (student)' desktop is www.centos.vbird:5

Creating default startup script /home/student/.vnc/xstartup
Starting applications specified in /home/student/.vnc/xstartup
Log file is /home/student/.vnc/www.centos.vbird:5.log

# 3.  xstartup Ұʤe
[student@www ~]$ vim /home/student/.vnc/xstartup
#[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
#[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
#xsetroot -solid grey
#vncconfig -iconic &
#xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#twm &
# NoɮתeA[W # ѱ

# 4. sҰ vncserver I
[student@www ~]$ vncserver -kill :5
[student@www ~]$ vncserver :5 -query localhost

UШϥ root [J 5905 fWhAMۦϥ Linux vncviewer Windows RealVNC ӳsuAAN|o{pUeG

zL VNC qDo xdmcp e
11.4-5BzL VNC qDo xdmcp e

ڭ̳o VNC su{ǬO student AOڭ̫oiHzL xdmcp nJ\ӵnJ root I ]bAW Xvnc {ǬO student ֦Ao˷|nաIAѩIH


11.4.4 }NҰ VNC server k

Ъ`NAAnN vncserver OgJb /etc/rc.d/rc.local A_hi| localhost LknJDC ӦpA VNC server b@}NҰʦӤnnJOOHiHAOAonק@U]wɡC ڭ̩Uϥ student Ұ VNC serverAӱҰʪ觋ϥ xdmcp nJeAҰʪfNwb 5901 nFC Aӳo˧@G

[root@www ~]# vim /etc/sysconfig/vncservers
VNCSERVERS="1:student"
VNCSERVERARGS[1]="-query localhost"
# Wz檺 1 NOӰf 5901 In`NI

[root@www ~]# /etc/init.d/vncserver restart
[root@www ~]# chkconfig vncserver on

n²aIo˨C}NdwA VNC server oI


11.4.5 PB VNC GiHzLϥܦPBо

t~AǪBͤ@w|ıo_ǡANOAƻڪ VNC A server / client ݵeäOPBO? oO] Linux Ѧh VNC server Ao̬OUۿWߪAҥHMN|P tty7 ePBFC OpGAQnP Linux tty7 PBܡAiHQ VNC X X Server ϥΪҲըӥ[H]wYiC pGAO CentOS 5.x o distribution ܡAߧAAtιw]wgN vnc.so oӼҲXFC

ϥγoӼҲզƻnBڡHNOiHӹϧΤb server/client O@˪A ҥHApGAQnЧABͧAOp]wANiHzLoӾӳBzAABͦbݴNDA@B@Bi檺L{I o˫ܤaIԲӪ@kiHѦҩUsG

ڭ̤]ӹ갵@UaG

[root@www ~]# vim /etc/X11/xorg.conf
Section "Screen"
        Identifier "Screen0"
        Device     "Videocard0"
        DefaultDepth     24
        # VBird
        Option "passwordFile" "/home/student/.vnc/passwd"
        SubSection "Display"
                Viewport   0 0
                Depth     24
        EndSubSection
EndSection

# VBird
Section "Module"
    Load    "vnc"
EndSection
# ]A vnc KXɮשmb /home/student/.vnc/passwd YA
# oӮɭԴNonNKXɤeg Screen o section F

[root@www ~]# gdm-restart
[root@www ~]# netstat -tlunp | grep X
tcp        0      0 0.0.0.0:5900   0.0.0.0:*      LISTEN      7445/Xorg
tcp        0      0 0.0.0.0:6000   0.0.0.0:*      LISTEN      7445/Xorg
tcp        0      0 :::6000        :::*           LISTEN      7445/Xorg
# `NݳIoX port Ұʪ PID @˳IҥH|Ұʤ@ port 5900 oI

AiHϥΡy vncviewer 192.168.1.10 zӳsuYiAݭn[W :0 fC MAiHݤ@UΤݻPAݪϧΤAA|o{̲ʷƹɡA̪e|PBB@I D`OIuLoӰʧ@٬Ou\@ VNC suAҦΤݳs port 5900 AouOӥiFI


11.5 ݮୱtΡG XRDP A

ϥΤWϧΤsuA@ӰDAFsuP~AWY Xdmcp P VNC hWAƳS[KC ]Wʧ@jhȾAXϰB@AnsW Internet nCpGAuQnzL[K觋B@ VNCA ionzLU@p`Ф~nBzGCڭ̪D Windows ݮୱ (Remote Desktop Procotol, RDP, 7) O㦳su[K\઺AҥHAणb Linux Wˤ@ RDP Server OHOiHANO XRDP A (8)C

ܥiOAڭ̪ CentOS 5.x w]èS XRDP AApGA쪺ܡAiHۦsĶ xrdp nA Fedora |Ѫ RHEL B~npe (9)AAiH쩳UshAG

٬Oıo yum OnFA]쪺 CentOS 5.x i386 }AN]wb yum ]wɤANiHϥ yum wˤFG

[root@www ~]# vim /etc/yum.repos.d/fedora_epel.repo
[epel]
name=CentOS-$releasever - Epel
baseurl=http://download.fedora.redhat.com/pub/epel/5/i386/
gpgcheck=0
enabled=1

[root@www ~]# yum clean all
[root@www ~]# yum install xrdp

o˴Nw˦nF xrdp nFAۤUӴNon}lӳ]woIѹ껡Ab@몺DWw˦no xrdp AAڥݭnվ]wɡAOdn]wɴNnFAMҰʥAåB]w}ҰʡAӥunλݳsusoDA tδN|Ұ 5910~5920 HW VNC fAMANzL RDP wo VNC eA̫NnJtoI

[root@www ~]# /etc/init.d/xrdp start
[root@www ~]# chkconfig xrdp on
[root@www ~]# netstat  | grep xrdp
tcp        0      0 127.0.0.1:3350  0.0.0.0:*     LISTEN    2606/xrdp-sesman
tcp        0      0 0.0.0.0:3389    0.0.0.0:*     LISTEN    2602/xrdp
# ݮୱfO 3389 AO xrdp |As쥻 3350 h@ VNC suC
# O|sueAä|_ʥ VNC fNOFC

pGAOϥ Windows tΡAzLy}lz-->y{z-->yε{z-->yݮୱsuzA bX{eJo xrdp A IP ApGQsWN|X{pUeG

sWA XRDP AȫA|X{suT
11.5-1BsWA XRDP AȫA|X{suT

sWA XRDP AȫA|X{suT
11.5-2BsWA XRDP AȫA|X{suT

JTbKXAKKIdwIeNX{oIpGAٷQni@BA xrdp ]wɡAШ /etc/xrdp/ ؿU@@AMAzL man hݬݬ]wɸTANzѳ]woIչLAέק]wA ϥλݮୱNwgܶZoI ^_^

LAn`NOA] xrdp ̲׷|۰ʱҥ VNC A]A٬Onw vnc-server ~I _h xrdp ٬OLkB@I


11.6 SSH Ai

ƹW ssh uܦnΡIAƦܤݭnҰʬƻ xdmcp, vnc, xrdp AȡAϥ ssh [KqDNbΤݱҰʹϧΤI ~Aڭ̪DܦhAȳOS[KAणNoǪAȳzL ssh qDӥ[KOHKKIMOiHI boӳ`Aڭ̴Nӽͽͤ@ ssh iΧaI


11.6.1 Ұ ssh bDWf (D port 22)

qe`̭ڭ̴NgLA sshd oӪAȨäOܦwAҥHܦh ISP bJfBNwgN port 22 FIno@OHoO]ܦh޲zèSwin update AӥBFKASܶ}ߪN port 22 @ɶ}Cѩܦh cracker |ϥαy{ñ Internet f|}Ao port 22 NO@ӫܱ`QyfաIFoӰDAҥH ISP AAN port 22 Io]OFӰϺnI

uOAoبS ssh N֭nUhHAF port 22 YhFISku@ڡI HSYAڭ̥iHN ssh }bDWfCp@ӡA cracker |yӰfAӧA ISP SSӰfi歭AANϥ ssh oIܴΧaINӸլݬݡCڭ̩UN ssh }b port 22 port 23 լݬ (Ъ`NA port 23 QϥγI)C

[root@www ~]# vim /etc/ssh/sshd_config
Port 22
Port 23

[root@www ~]# /etc/init.d/sshd restart
[root@www ~]# netstat -tlunp | grep ssh
tcp        0      0 :::22        :::*         LISTEN      4254/sshd
tcp        0      0 :::23        :::*         LISTEN      4254/sshd

S²Io˧ANϥ port 22 port 23 suA sshd AȳI

ѩw] ssh, scp, sftp Os port 22 ApϥγoǫOsu port 23 OH ڭ̨ϥ ssh mߦnFG

[root@www ~]# ssh -p 23 root@localhost
root@localhost's password:
Last login: Wed Feb 23 03:35:37 2011 from 192.168.1.171
[root@www ~]# netstat -tnp | grep 23
tcp  0  0 127.0.0.1:49109      127.0.0.1:23            ESTABLISHED 4290/ssh
tcp  0  0 ::ffff:127.0.0.1:23  ::ffff:127.0.0.1:49109  ESTABLISHED 4291/3
# ]OVA]ۤvsۤv (localhost)AN|ⰦsuI

oˡAAN׹L@ ISP Ϊ̬O cracker yFI`N@UAnN port }bYǬJfWA ҦpA}b port 80 ܡAANSkҰʥ` WWW AȰաI`N`NI


11.6.2 H rsync iPB𫏆ƥ

ڭ̴b¦gĤTĤGQYͨ Linux ƥA ӽgб`ΪƥOA]A tar, dd, cp ALɨåкAҥHӫܴΪuSСA NOoӦanͨ쪺 rsync աIo rsync iH@@Ӭ۷ΪaƴtΪƥOI ] rsync iHFy (mirror) z\OI

rsync ̦OQnN rcp oӫOA] rsync ǿ骺tק֡AӥBLbǿɡA iH糧aݻPݥDƻsɮפeAӶȽƻsݦtɮצӤwAҥHǿ骺ɶN۹諸CܦhI ~A rsync ǿ觋ܤ֥iHzLTؤ觋ӹB@G

TضǿҦtb󦳨S_ (:) ӤwAaݶǿ餣ݭn_AzL ssh rsh ɡANonQΤ@ӫ_ (:)A pGOzL rsync daemon ܡANonӫ_ (::) AӤzѰաI]aݳBz²A ӧڭ̪tΥӴN ssh AȡAҥHAUNЧQ rsync zL ssh ӳƥʧ@C LAbe̥Ӭݬ rsync ykaI

[root@www ~]# rsync [-avrlptgoD] [-e ssh] [user@host:/dir] [/local/path]
ﶵPѼơG
-v G[ҦAiHCXhTA]A𫏆ɪɮɦWF
-q GP -v  ۤϡAwRҦAL`TAܿ~TF
-r GjƻsIiHwyؿzӳBzIܭnI
-u Gȧs (update)AYؼɮ׸sAhOdsɮפ|л\F
-l GƻssɪݩʡAӫDsؼЭlɮפeF
-p GƻsɡAsPݩ (permission) ]OsܡI
-g GOslɮת֦sաF
-o GOslɮת֦HF
-D GOslɮת˸mݩ (device)
-t GOslɮתɶѼơF
-I Gsɶ (mtime) ݩʡAɮפW|ֳtF
-z GbƶǿɡA[WYѼơI
-e GϥΪqDwAҦpϥ ssh qDAh -e ssh
-a G۷ -rlptgoD AҥHo -a O̱`ΪѼƤFI
hаѦ man rsync ѻI

# 1. N /etc Ƴƥ /tmp UG
[root@www ~]# rsync -av /etc /tmp
....(eٲ)....
sent 119500001 bytes  received 33260 bytes  6129910.82 bytes/sec
total size is 119372678  speedup is 1.00
[root@www ~]# ll -d /tmp/etc /etc
drwxr-xr-x 101 root root 12288  2 23 03:55 /etc
drwxr-xr-x 101 root root 12288  2 23 03:55 /tmp/etc <==@Iӥؿ@ˡI
# Ĥ@B@ɷ|[ɶA]إ߹IpGAƥOH

[root@www ~]# rsync -av /etc /tmp
sent 61565 bytes  received 20 bytes  41056.67 bytes/sec
total size is 119372678  speedup is 1938.34
# @U⦸ rsync ǿPƶqAAN|o{ߨN]FI
# ǿ骺Ƥ]ܤ֡I]AAȦtɮ׷|QƻsC

# 2. Q student nJ client.centos.vbird ANaؿƻs쥻 /tmp
[root@www ~]# rsync -av -e ssh student@192.168.1.20:~ /tmp 
student@192.168.1.20's password:  <==JD student KX
receiving file list ... done
student/
student/.bash_logout
....(ٲ)....
sent 110 bytes  received 697 bytes  124.15 bytes/sec
total size is 333  speedup is 0.41

[root@www ~]# ll -d /tmp/student
drwx------ 3 student student 4096  2 23 07:18 /tmp/student
# @Io˴NnƥաI²aI

AiHQΤWdҤGӰƥ script ѦҡILn`NOA] rsync OzL ssh ӶǿƪAҥHAiHw student oӳås@XKαKXnJ ssh _I p@өᲧaƴtδN۰ʪH crontab ӶiƥFI²zI

KKX ssh bڭ̦bWYwgLFAg shell script O]OnIQ rsync ӶiAƥu@aI ^_^Iܩh rsync ΪkiHѦҥ᭱ҦCXѦҺ(10)I

DG
b client.centos.vbird (192.168.1.20) WAϥ vbirdtsai إߤ@}Ao}iHbCѪ 2:00am DʪH rsync tX ssh o www.centos.vbird (192.168.1.10) /etc, /root, /home Tӥؿ𫏆 client.centos.vbird /backups/ UC
G
ѩ󥲶nzL ssh qDABnϥ crontab Ҧu@Ƶ{A]֩wnϥΪ_tΪKKXbCڭ̦b 11.2.6 p`wg͹L@kA vbirdtsai wgF_Pp_ɮסA]nAϥ ssh-keygen FAN_ɮ׽ƻs www.centos.vbird /root/.ssh/ UYiC ڧ@kiHOo˪G
# 1. b client.centos.vbird N_ɽƻs www.centos.vbird  root
[vbirdtsia@client ~]$ scp ~/.ssh/id_rsa.pub root@192.168.1.10:/root/

# 2. b www.centos.vbird W root ظmn authorized_keys
[root@www ~]# ls -ld id_rsa.pub .ssh
-rw-r--r-- 1 root root  411  2 23 07:34 id_rsa.pub <==_
drwx------ 2 root root 4096  2 20 22:00 .ssh       <== ssh ]wؿ

[root@www ~]# cat id_rsa.pub >> ~/.ssh/authorized_keys
[root@www ~]# chmod 644 ~/.ssh/authorized_keys

# 3. b client.centos.vbird Wg script ôհG
[vbirdtsai@client ~]$ mkdir ~/bin ; vim ~/bin/backup_www.sh
#!/bin/bash
localdir=/backups
remotedir="/etc /root /home"
remoteip="192.168.1.128"

[ -d ${localdir} ] || mkdir ${localdir}
for dir in ${remotedir}
do
        rsync -av -e ssh root@${remoteip}:${dir} ${localdir}
done

[vbirdtsai@client ~]$ chmod 755 ~/bin/backup_www.sh
[vbirdtsai@client ~]$ ~/bin/backup_www.sh
# WbհաIĤ@եi|ѡA]ѰO /backups ݭn root
# v~إߡCҥHAбzAH root h mkdir  chown aI

# 4. إ crontab u@
[vbirdtsai@client ~]$ crontab -e
0 2 * * * /home/vbirdtsai/bin/backup_www.sh


11.6.3 zL ssh qD[K쥻L[KA

{bڭ̪D ssh oӳqDiH[KAӥBAڭ̧󪾹D rsync w]wgiHzL ssh qDӶi[KHi𫏆ǿC JMpALAȯणzLo ssh iƥ[KӶǰeTOHMiHIܴΩOoӥ\I nй갵eAڭ̥ιϥܨӽͤ@U@kC

]AWҰʤF VNC AȦb port 5901 AΤݫhϥ vncviewer nsuAW port 5901 NOFC {bڭ̦bΤݹqWҰʤ@ 5911 fAMAzLaݪ ssh suA sshd hAӦA sshd AhsA VNC port 5901 CӳsuϥܦpUҥܡG

zLaݪ ssh [Ksu컷ݪAܷN
11.6-1BzLaݪ ssh [Ksu컷ݪAܷN

]AwgzLWzUӤp`إߦnA (www.centos.vbird) W VNC port 5901 AӥΤݫhSҰʥ VNC fC AӦpzL ssh Ӷi[KOH²AAiHbΤݹq (client.centos.vbird) 橳UOG

[root@client ~]# ssh -L af:127.0.0.1:ݰf [-N] ݥD
ﶵPѼơG
-N GȱҰʳsuqDAnJ sshd A
afGNO} 127.0.0.1 W@Ӻťf
ݰfGwsu᭱ݥD sshd Asshd ӳsӰfiǿ

# 1. bΤݱҰʩһݭnfi檺O
[root@client ~]# ssh -L 5911:127.0.0.1:5901 -N 192.168.1.10
root@192.168.1.10's password:
   <==SnJݡAҥHʧ@

# 2. bΤݦbt@Ӳ׺ݾլݬݡAoӰʧ@ݭn@AuOd\Ӥw
[root@client ~]# netstat -tnlp| grep ssh
tcp  0   0 127.0.0.1:5911       0.0.0.0:*            LISTEN      5441/ssh
tcp  0   0 :::22                :::*                 LISTEN      2075/sshd
tcp  0   0 ::1:5911             :::*                 LISTEN      5441/ssh
[root@client ~]# netstat -tnl| grep ssh
tcp  0   0 192.168.1.20:36740   192.168.1.10:22      ESTABLISHED 5441/ssh
# bΤݱҰ 5911 fO ssh ҰʪAP@ PID ]su컷ݳI

UӧANiHbΤ (192.168.1.20, client.centos.vbird) ϥΡy vncviewer localhost:5911 zӳsuA Oӳsuo|s www.centos.vbird (192.168.1.10) D port 5901 I۫HܡH AF VNC suA www.centos.vbird DW@@NDFG

# 3. bAݴլݬݡAoӰʧ@ݭn@AuOd\Ӥw
[root@www ~]# netstat -tnp | grep ssh
tcp   0  0 127.0.0.1:35030     127.0.0.1:5901      ESTABLISHED 6065/sshd: root
tcp   0  0 192.168.1.10:22     192.168.1.20:36740  ESTABLISHED 6065/sshd: root
# 㪺ݨ port 22 {ǦPɳsu port 5901 I

poӳsuOH VNC AMAN client.centos.vbird Ĥ@Ӱʧ@ (ssh -L ...) U [ctrl]-c N_oӥ[KqDoIo˷|ϥΤFܡHAiHNoӰʧ@ΦbAȤWI


11.6.4 H ssh qDtX X server ǻϧΤ

qe@Ӥp`ڭ̪D ssh iHi{[KǻAY ssh qDաIiiHΦb X WOH NOAگणणnҰʬƻܽANOb즳Uϥ ssh qDANکһݭnAWϧΤǹLӴNnFH OiHIΤ@ Windows W Xming X server @dҦnFCӰʧ@Oo˪G

ڭ̴N}lӳBz@U Xming oӵ{aIҰ XLaunch X{UϼҼˡG

Ұ XLaunch {-ܼҦ
11.6-2BҰ XLaunch {-ܼҦ

OoWϤn Multiple windows |}GIMUyU@Bz|X{UϡG

]w XLaunch {-ܳsu觋
11.6-3B]w XLaunch {-ܳsu觋

ڭ̭nҰʤ@{AåBO}b ssh/putty ni ssh qDإ߳IMU@BaC

]w XLaunch {-]wݳsuѼ
11.6-4B]w XLaunch {-]wݳsuѼ

Xming |DʪҰʤ@ putty {Asi sshd AAҥHo̱on]wnbKXTC o̰]A sshd | root nJA]ǫϥ root vI

]w XLaunch {-O_䴩ƻsKW\
11.6-5B]w XLaunch {-O_䴩ƻsKW\

ϥιw]ȧaIU@BC

]w XLaunch {-]w
11.6-6B]w XLaunch {-]w

²Io˴N]wFIЫUAAN|ݨ Windows ୱMX{pUϥܤFI

Windows ୱX{ X client {
11.6-7BWindows ୱX{ X client {

Wo{NO xterm o X ׺ݾ{CAiHbWJOAӫO|ǰe Linux server A MANAn檺ϧθƳzL ssh qDǰeثe Windows W Xming AA Linux αҰ VNC, X, xrdp AȡIun sshd NdwFINOo²IҦpJXӹC{A A Windows (ݤu@CNDF) N|X{o˪pG

Windows ୱX{ X client {
11.6-8BWindows ୱX{ X client {

I^U

D

ѦҸƻP\Ū

2002/11/14GĤ@
2003/03/08G[JYAPקﳡeAҦp Telnet An骺w˵AH SSH putty ϥΤ媬AI
2003/09/09GNi@ǭ׭qA~A[JFҫmߡI
2005/07/02GNª峹ʨ o C
2005/07/07GneN VNC ٦ XDMCP LgFgjaѦҬݬݰڡ
2005/07/09G[JF VNC P tty7 PB vnc.so Ҳժ
2005/11/22G[JF RSH A ơI
2006/09/18GN putty ন pietty СI] pietty nΡIt~]N rsh sg@UAսZLI
2006/09/19G[J rsync ²Pާ@I̤好DiH@@@I
2011/02/15GNª CentOS 4.x 峹ʨ B
2011/02/17GԵhR telnet AAuܤ֥ΤF]A rsh ]AСI쪺аѦ CentOS 4.x ¤峹a
2011/02/20GN sshd A@²檺קFAW[@ǽgTӻDP갵AרO ~/.ssh/authorized_keys v
2011/02/23GקF\h Xdmcp, VNC ]wPϥܡA̭nO[J xrdp w˻Pϥ
2011/02/24G[J Xming zL X11 forward from ssh 觋I