@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 |
ݳsuAڭ̨ӻAiO@ܦΪuڡILiHڭ̧KzDC
LAKkKA}@ɳiHյnJADäӦnDNA]i|wʪDoI
ҥH~nSOjդ@UoӪNڡI
Aڭ̨AѤ@UAOyݳsuAzH oӪF𫍧\ରHڷQAAӤwgťLA@}ںWAAWAiHݭnùBLB ƹPtơAunDOBCPUBRAMBwЦ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ثezNQk 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ӳ`ͨ쪺nJPH̤jPbo shell i檺u@աI ssh/telnet/VNC 觋orιϧ shell iܦhtκzȡAPª FTP i檺u@MPIAu@ݭ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
ثeݳsuADnǡHpGHnJsuӤAWrPϧΤءG
brnJsuAADnHyXzǰeƪ telnet AAΥH[KNiƥ[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 ҥHtPwʳݦҶqC]Aڭ̶ȫijANϧΤݵnJA}b (LAN) NnFIOyXzPy[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]ƥ[KNAHW[Ʀ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
ѩeݳsuAjhOXAӥBw]ǸwDA]ӴN SSH oӨwӨNWzoǩNNC SSH OOHS\H²檺ӻASSH O Secure SHell protocol ²g (wߵ{w)AiHzLƫʥ][KNANݶǿ骺ʥ][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
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[KIOӤHPyܰաIpGAABͬwnϥΧĄqYدSOyA oӻyuĄӦNqCĄHܮɡAb䪺Hť쪺uO@SNqnA]LťڡI YϸHNAnUӡAunLDA̪SλyALNiAѧA̹ܪeoC[ѱKB⪺PND`hAڭ̳o̤hQzװDAuڭ̤@ǥ[ѱKӤwC ثe`ʥ][KNq`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
ثe SSH wءAOO version 1 P version 2 A𫟺 V2 ѩ[WFsu˴bA
iHקKsuQJcNXA] V1 ٭n[wCҥHoAкɶqϥ V2 YiAnϥ V1 oC
LOتA٬Oݭnp_[KtΪAoǤ_Pp_OpͪOHUڭ̴Nӽͤ@ͰաI
ڭ̥iHN ssh AݻPΤݪsuBJܷNUϡAܩBJpG
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
|
ƹ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
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ݨ㦳ۦPbAgb]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 restartM᭫sϥΩU觋Ӷisuʧ@G
|
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
|
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 |
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
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
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
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
NWϤbY 2 ҫӶؤĿ_ӥBUyApplyzAALkƦr~`ϥΩOA_hkƦr|OýXաC AӡAAiHվ pietty bOЦơAo˷ƤӦhɡAA¥iHվ㱲bӬd\eơC]wkpUG
վ㧹oDZ`ΪƫAAӳoO̭nGyAnH@Ӫ SSH tknJHzeLAڭ̹w]OH version2 ӵnJAҥHo̧ڭ̥iHվ㬰 2 ӶءIo˨CnJ|H version 2 ҦnJDFI
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
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
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ϥΪ̻{ҦܦhnBAiHOPzC # ҥ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
Aγ\wgQFAJM ssh iHϥ scp ӶiƻsܡAگणN scp Om crontab AȤA ڭ̪tγzL scp bIUۦwiƻsPƥOHpAOGyw]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
OnܧxˤlABJu²Aڭ̨̧ǨӶi@~nFI]epUAӶi檺BJhpUϡG
إߪ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ݭnKXoI|ҨӻAAiHo˴լݬoG
DG
zLWzרҽmߦ\AЦb client vbirdtsai ANtΪ /etc/hosts* ɮƻs www.centos.vbird dmtsai Τ᪺aؿC
G
|
²檺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
ѹ껡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
Ҽ{@ӱpApGA Linux DDnOΨӧ@ϧγBzɡAӥBPɦhHݭnΨ쨺ӥ\A
@ Linux O_@ȯണѤ@ӤHBzӳnOHKKIi@wI] Linux
۷uq X Window System ڡI{bNӽͽͲĤ@ӹϧΤݳsuAaI
ѩڭ Linux ϥΪϧΤOҿת X-Window System FAoNOxAث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
ѩ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 bizҦL X client {Ao`ުNNNO Window ManagerI
JM X Window System O Linux W@յ{ApҰʪ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 -nodaemonAiHR /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
|
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
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
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 |
ѩ 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
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)
@}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
ѩ 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
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
NpPWY쪺Aϥ xdmcp i|ҰʦhӤPfAɭP]wWxZǡCS²@IϧΤs觋H
٦ܦhաAbo̧ڭ̥@Ӥ²檺ANO VNC (Virtual Network Computing) oNաI(6)
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
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 |
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 |
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
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
pWϩҥܡAAb server W IP:port ƧYiAMUyOKzaI
ѩ VNC server ݭnȬOsu VNC KXӤwA]WϤ Username iHζAѹ껡Aoӵ{]|A IUyOKzYiIUӴN|X{TeoI
] VNC w]eOoA xdmcp ~Oo}GASkzL 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
ڭ̳o VNC su{ǬO student AOڭ̫oiHzL xdmcp nJ\ӵnJ root I ]bAW Xvnc {ǬO student ֦Ao˷|nաIAѩIH
Ъ`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
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
ϥΤWϧΤsuA@ӰDAFsuP~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
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
ƹ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
qe`̭ڭ̴NgLA sshd oӪAȨäOܦwAҥHܦh ISP bJfBNwgN port 22 FIno@OHoO]ܦhzè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ˡAANL@ ISP Ϊ̬O cracker yFI`N@UAnN port }bYǬJfWA ҦpA}b port 80 ܡAANSkҰʥ` WWW AȰաI`N`NI
ڭ̴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ضǿҦtbS_ (:) Ӥ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`wgL@kA
vbirdtsai wgF_Pp_ɮסA]nAϥ ssh-keygen FAN_ɮƻs www.centos.vbird /root/.ssh/ UYiC
ڧ@kiHOo˪G
|
{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
]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
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
OoWϤn Multiple windows |}GIMUyU@Bz|X{UϡG
ڭ̭nҰʤ@{AåBO}b ssh/putty ni ssh qDإ߳IMU@BaC
Xming |DʪҰʤ@ putty {Asi sshd AAҥHo̱on]wnbKXTC o̰]A sshd | root nJA]ǫϥ root vI
ϥιw]ȧaIU@BC
²Io˴N]wFIЫUAAN|ݨ Windows ୱMX{pUϥܤFI
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