Hagnýt dæmi SSH, sem mun taka færni þína sem fjarstýrður kerfisstjóri á nýtt stig. Skipanir og ábendingar munu hjálpa ekki aðeins að nota SSH, en einnig að vafra um netið betur.
Að kunna nokkur brellur ssh gagnlegt fyrir alla kerfisstjóra, netverkfræðinga eða öryggissérfræðinga.
Eftirfarandi dæmi notar algengar breytur sem oft koma upp þegar tengst er við ytri netþjón SSH.
localhost:~$ ssh -v -p 22 -C neo@remoteserver
-v: Kembiúttak er sérstaklega gagnlegt þegar auðkenningarvandamál eru greind. Hægt að nota margoft til að birta viðbótarupplýsingar.
- p 22: tengitengi á ytri SSH netþjón. 22 þarf ekki að tilgreina, því þetta er sjálfgefið gildi, en ef samskiptareglan er á einhverri annarri höfn, þá tilgreinum við hana með því að nota færibreytuna -p. Hlustunargáttin er tilgreind í skránni sshd_config með sniðinu Port 2222.
-C: Þjöppun fyrir tengingu. Ef þú ert með hæga tengingu eða skoðar mikinn texta getur það flýtt fyrir tengingunni.
neo@: Línan á undan @ tákninu gefur til kynna notandanafn fyrir auðkenningu á ytri miðlara. Ef þú tilgreinir það ekki mun það sjálfgefið vera notandanafn reikningsins sem þú ert skráður inn á (~$whoami). Einnig er hægt að tilgreina notandann með því að nota færibreytuna -l.
remoteserver: nafn gestgjafans sem á að tengjast ssh, þetta getur verið fullgilt lén, IP tölu eða hvaða gestgjafi sem er í staðbundnu hýsingarskránni. Til að tengjast hýsil sem styður bæði IPv4 og IPv6 geturðu bætt færibreytunni við skipanalínuna -4 eða -6 fyrir rétta úrlausn.
Allar ofangreindar færibreytur eru valfrjálsar nema remoteserver.
Notaðu stillingarskrána
Þó að margir þekki skrána sshd_config, það er líka biðlara stillingarskrá fyrir skipunina ssh. Sjálfgefið gildi ~/.ssh/config, en það er hægt að skilgreina það sem færibreytu fyrir valmöguleika -F.
Host *
Port 2222
Host remoteserver
HostName remoteserver.thematrix.io
User neo
Port 2112
IdentityFile /home/test/.ssh/remoteserver.private_key
Það eru tvær hýsingarfærslur í dæminu ssh stillingarskránni hér að ofan. Sá fyrsti þýðir að allir hýslar, allir með stillingarbreytu Port 2222. Sá síðari segir að fyrir hýsilinn fjarþjónn Nota skal annað notendanafn, gátt, FQDN og IdentityFile.
Stillingarskrá getur sparað mikinn innsláttartíma með því að leyfa háþróaðri stillingu að vera sjálfkrafa beitt þegar tengst er við tiltekna gestgjafa.
Afritar skrár yfir SSH með SCP
SSH viðskiptavinurinn kemur með tvö önnur mjög handhæg verkfæri til að afrita skrár yfir dulkóðuð ssh tenging. Sjá hér að neðan til að sjá dæmi um staðlaða notkun á scp og sftp skipunum. Athugaðu að margir af ssh valkostunum eiga einnig við um þessar skipanir.
Í þessu dæmi er skráin mypic.png afritað til fjarþjónn í möppu /miðlar/gögn og endurnefnt í mypic_2.png.
Ekki gleyma um muninn á hafnarbreytu. Þetta er þar sem margir verða veiddir þegar þeir hefja sjósetningu scp frá skipanalínunni. Hér er portfæribreytan -POg ekki -p, alveg eins og í ssh viðskiptavin! Þú munt gleyma, en ekki hafa áhyggjur, allir gleyma.
Fyrir þá sem þekkja console ftp, margar skipananna eru svipaðar í sftp. Þú getur ýta, setja и lseins og hjartað þráir.
sftp neo@remoteserver
Hagnýt dæmi
Í mörgum þessara dæma er hægt að ná árangri með mismunandi aðferðum. Eins og í öllum okkar kennslubækur og dæmi, valinn er hagnýt dæmi sem einfaldlega vinna vinnuna sína.
1. SSH sokkar umboð
SSH Proxy eiginleiki er númer 1 af góðri ástæðu. Það er öflugra en margir gera sér grein fyrir og gefur þér aðgang að hvaða kerfi sem ytri netþjónninn hefur aðgang að, með því að nota nánast hvaða forrit sem er. ssh viðskiptavinur getur flutt umferð í gegnum SOCKS proxy með einni einfaldri skipun. Það er mikilvægt að skilja að umferð til fjarlægra kerfa mun koma frá ytri netþjóni, þetta kemur fram í vefþjónsskránum.
Hér keyrum við socks proxy á TCP tengi 8888, önnur skipunin athugar að tengið sé virk í hlustunarham. 127.0.0.1 gefur til kynna að þjónustan keyrir aðeins á localhost. Við getum notað aðeins öðruvísi skipun til að hlusta á öll viðmót, þar á meðal Ethernet eða WiFi, þetta gerir öðrum forritum (vafra o.s.frv.) á netinu okkar kleift að tengjast proxy-þjónustunni í gegnum ssh socks proxy.
Nú getum við stillt vafrann til að tengjast socks proxy. Í Firefox skaltu velja Stillingar | Grunnur | Netstillingar. Tilgreindu IP tölu og tengi til að tengjast.
Vinsamlegast athugaðu möguleikann neðst á eyðublaðinu til að láta DNS beiðnir vafrans þíns fara í gegnum SOCKS umboð. Ef þú ert að nota proxy-miðlara til að dulkóða vefumferð á staðarnetinu þínu, muntu líklega vilja velja þennan valkost þannig að DNS-beiðnir séu fluttar í gegnum SSH-tenginguna.
Virkjar sokka proxy í Chrome
Að ræsa Chrome með ákveðnum skipanalínubreytum mun virkja socks proxy, auk þess að gera DNS beiðnir úr vafranum. Treystu en athugaðu. Notaðu tcpdump til að athuga hvort DNS fyrirspurnir séu ekki lengur sýnilegar.
Hafðu í huga að mörg önnur forrit geta líka notað sokkaumboð. Vafrinn er einfaldlega sá allra vinsælasti. Sum forrit hafa stillingarvalkosti til að virkja proxy-þjón. Aðrir þurfa smá hjálp með hjálparforrit. Til dæmis, proxychains gerir þér kleift að keyra í gegnum socks proxy Microsoft RDP, osfrv.
Socks proxy stillingarbreytur eru stilltar í proxychains stillingarskránni.
Ábending: ef þú notar ytra skjáborð frá Linux á Windows? Prófaðu viðskiptavininn FreeRDP. Þetta er nútímalegri útfærsla en rdesktop, með miklu sléttari upplifun.
Möguleiki á að nota SSH í gegnum socks proxy
Þú situr á kaffihúsi eða hóteli - og neyðist til að nota frekar óáreiðanlegt WiFi. Við ræsum ssh proxy á staðnum úr fartölvu og setjum upp ssh göng inn á heimanetið á staðbundnum Rasberry Pi. Með því að nota vafra eða önnur forrit sem eru stillt fyrir socks proxy, getum við fengið aðgang að hvaða netþjónustu sem er á heimanetinu okkar eða fengið aðgang að internetinu í gegnum heimatenginguna okkar. Allt á milli fartölvunnar og heimaþjónsins (í gegnum Wi-Fi og internetið heim til þín) er dulkóðað í SSH göngum.
2. SSH göng (höfn áfram)
Í sinni einföldustu mynd opnar SSH göng einfaldlega tengi á staðbundnu kerfinu þínu sem tengist öðru tengi í hinum enda ganganna.
Við skulum líta á breytuna -L. Það má líta á það sem staðbundna hlið hlustunar. Svo í dæminu hér að ofan hlustar höfn 9999 á localhost hliðinni og framsend um höfn 80 til fjarþjóns. Vinsamlegast athugaðu að 127.0.0.1 vísar til localhost á ytri þjóninum!
Förum upp þrepið. Eftirfarandi dæmi miðlar hlustunargáttum við aðra gestgjafa á staðarnetinu.
Í þessu dæmi erum við að beina göngum frá fjarþjóni yfir á vefþjón sem keyrir 10.10.10.10. Umferð frá fjarþjóni til 10.10.10.10 ekki lengur í SSH göngunum. Vefþjónninn þann 10.10.10.10 mun líta svo á að fjarþjónn sé uppspretta vefbeiðna.
4. Snúið SSH göng
Hér munum við stilla hlustunargátt á ytri netþjóninum sem mun tengjast aftur við staðbundið tengi á localhost okkar (eða öðru kerfi).
Þessi SSH lota kemur á tengingu frá höfn 1999 á fjarþjóni til tengingar 902 á staðbundnum biðlara okkar.
5. SSH Reverse Proxy
Í þessu tilviki erum við að setja upp socks proxy á ssh tengingunni okkar, en proxy er að hlusta á ytri enda þjónsins. Tengingar við þennan ytri umboðsþjón birtast nú úr göngunum sem umferð frá staðbundinni gestgjafa okkar.
Ef þú átt í vandræðum með að fjarlægir SSH valkostir virki skaltu athuga með netstat, hvaða önnur tengi hlustunargáttin er tengd við. Þó að við bentum á 0.0.0.0 í dæmunum, en ef gildið GatewayPorts в sshd_config stillt á nr, þá verður hlustandinn aðeins bundinn við localhost (127.0.0.1).
Öryggisviðvörun
Vinsamlegast athugaðu að með því að opna göng og sokkaumboð gætu innri netkerfi verið aðgengileg ótraustum netum (eins og internetinu!). Þetta getur verið alvarleg öryggisáhætta, svo vertu viss um að þú skiljir hvað hlustandinn er og hvað hann hefur aðgang að.
6. Uppsetning VPN í gegnum SSH
Algengt hugtak meðal sérfræðinga í árásaraðferðum (pentester o.s.frv.) er „stoðpunktur í netinu. Þegar tenging er komin á eitt kerfi verður það kerfi gátt fyrir frekari aðgang að netinu. Stuðningspunktur sem gerir þér kleift að hreyfa þig á breidd.
Fyrir slíka fótfestu getum við notað SSH umboð og proxychains, þó eru nokkrar takmarkanir. Til dæmis verður ekki hægt að vinna beint með innstungum, þannig að við getum ekki skannað tengi innan netkerfisins í gegnum NmapSYN.
Með því að nota þennan háþróaða VPN valkost minnkar tengingin í stig 3. Við getum þá einfaldlega beint umferð í gegnum göngin með því að nota hefðbundna netleiðsögn.
Aðferðin notar ssh, iptables, tun interfaces og leiðsögn.
Fyrst þarftu að stilla þessar breytur inn sshd_config. Þar sem við erum að gera breytingar á viðmótum bæði fjar- og viðskiptavinakerfa, þá erum við þarf rótarréttindi á báða bóga.
PermitRootLogin yes
PermitTunnel yes
Þá munum við koma á ssh tengingu með því að nota færibreytuna sem biður um frumstillingu tun tækja.
localhost:~# ssh -v -w any root@remoteserver
Við ættum nú að vera með stillingartæki þegar við sýnum viðmót (# ip a). Næsta skref mun bæta IP tölum við göngin.
SSH viðskiptavinur hlið:
localhost:~# ip addr add 10.10.10.2/32 peer 10.10.10.10 dev tun0
localhost:~# ip tun0 up
SSH Server Side:
remoteserver:~# ip addr add 10.10.10.10/32 peer 10.10.10.2 dev tun0
remoteserver:~# ip tun0 up
Nú höfum við beina leið til annars gestgjafa (route -n и ping 10.10.10.10).
Þú getur beint hvaða undirneti sem er í gegnum hýsil hinum megin.
localhost:~# route add -net 10.10.10.0 netmask 255.255.255.0 dev tun0
Á ytri hliðinni verður þú að virkja ip_forward и iptables.
Búmm! VPN yfir SSH göng á netlagi 3. Nú er það sigur.
Ef einhver vandamál koma upp skaltu nota tcpdump и pingtil að ákvarða orsökina. Þar sem við erum að spila á lag 3 munu icmp pakkarnir okkar fara í gegnum þessi göng.
7. Afritaðu SSH lykilinn (ssh-copy-id)
Það eru nokkrar leiðir til að gera þetta, en þessi skipun sparar tíma með því að afrita ekki skrár handvirkt. Það afritar einfaldlega ~/.ssh/id_rsa.pub (eða sjálfgefna lykilinn) úr kerfinu þínu til ~/.ssh/authorized_keys á ytri netþjóni.
localhost:~$ ssh-copy-id user@remoteserver
8. Fjarframkvæmd skipana (ekki gagnvirk)
lið ssh Hægt að tengja við aðrar skipanir fyrir sameiginlegt, notendavænt viðmót. Bættu bara við skipuninni sem þú vilt keyra á ytri gestgjafanum sem síðustu færibreytunni í gæsalappir.
Í þessu dæmi grep keyrt á staðbundnu kerfinu eftir að skránni hefur verið hlaðið niður í gegnum ssh rás. Ef skráin er stór er þægilegra að keyra hana grep á ytri hliðinni með því einfaldlega að setja báðar skipanirnar innan tveggja gæsalappa.
Annað dæmi gegnir sömu aðgerð og ssh-copy-id úr dæmi 7.
Ég tók einn af okkar tcpdump dæmi. Notaðu það til að ná utan um pakka og birta niðurstöðurnar beint í staðbundnu Wireshark GUI.
:~$ ssh root@remoteserver 'tcpdump -c 1000 -nn -w - not port 22' | wireshark -k -i -
10. Afrita staðbundna möppu yfir á ytri netþjón í gegnum SSH
Fínt bragð sem þjappar saman möppu með því að nota bzip2 (þetta er -j valmöguleikinn í skipuninni tar), og sækir síðan strauminn bzip2 á hinni hliðinni, að búa til afrita möppu á ytri þjóninum.
11. Fjarstýrð GUI forrit með SSH X11 áframsendingu
Ef X er sett upp á biðlaranum og ytri þjóninum, þá geturðu framkvæmt GUI skipun úr fjarska með glugga á skjáborðinu þínu. Þessi eiginleiki hefur verið til í langan tíma, en er samt mjög gagnlegur. Ræstu ytri vafra eða jafnvel VMWawre Workstation vélinni eins og ég geri í þessu dæmi.
localhost:~$ ssh -X remoteserver vmware
Áskilinn strengur X11Forwarding yes í skrá sshd_config.
12. Fjarskrárafritun með rsync og SSH
rsync miklu þægilegra scp, ef þú þarft reglulega afrit af möppu, miklum fjölda skráa eða mjög stórum skrám. Það er aðgerð til að endurheimta eftir flutningsbilun og afrita aðeins breyttar skrár, sem sparar umferð og tíma.
Þetta dæmi notar þjöppun gzip (-z) og geymsluham (-a), sem gerir endurkvæma afritun kleift.
Torsokkar mun nota gátt 9050 á localhost fyrir proxy. Eins og alltaf, þegar þú notar Tor þarftu að athuga alvarlega hvaða umferð er verið að flytja og önnur rekstraröryggismál (opsec). Hvert fara DNS fyrirspurnirnar þínar?
14. SSH til EC2 dæmi
Til að tengjast EC2 tilviki þarftu einkalykil. Sæktu það (.pem viðbót) frá Amazon EC2 stjórnborðinu og breyttu heimildunum (chmod 400 my-ec2-ssh-key.pem). Geymdu lykilinn á öruggum stað eða settu hann í þína eigin möppu ~/.ssh/.
Viðfang -i segir einfaldlega ssh biðlaranum að nota þennan lykil. Skrá ~/.ssh/config Tilvalið til að stilla lyklanotkun sjálfkrafa við tengingu við ec2 hýsil.
Host my-ec2-public
Hostname ec2???.compute-1.amazonaws.com
User ubuntu
IdentityFile ~/.ssh/my-ec2-key.pem
15. Breyting á textaskrám með VIM í gegnum ssh/scp
Fyrir alla elskendur vim Þessi ábending mun spara tíma. Með því að nota vim skrám er breytt í gegnum scp með einni skipun. Þessi aðferð býr einfaldlega til skrána á staðnum í /tmpog afritar það svo aftur þegar við höfum vistað það frá vim.
localhost:~$ vim scp://user@remoteserver//etc/hosts
Athugið: sniðið er aðeins öðruvísi en venjulega scp. Eftir gestgjafann höfum við tvöfalt //. Þetta er alger leiðarvísun. Eitt skástrik gefur til kynna slóð miðað við heimamöppuna þína users.
Sjálfgefið, ef það er fyrirliggjandi tenging við ytri netþjón sem notar ssh önnur tenging með ssh eða scp stofnar nýja lotu með viðbótar auðkenningu. Valkostur ControlPath gerir kleift að nota núverandi lotu fyrir allar síðari tengingar. Þetta mun hraða ferlinu verulega: áhrifin eru áberandi jafnvel á staðarneti, og enn meira þegar tengst er við fjarlægar auðlindir.
Host remoteserver
HostName remoteserver.example.org
ControlMaster auto
ControlPath ~/.ssh/control/%r@%h:%p
ControlPersist 10m
ControlPath tilgreinir falsið til að athuga með nýjar tengingar til að sjá hvort það sé virk lota ssh. Síðasti valkosturinn þýðir að jafnvel eftir að þú hættir í stjórnborðinu mun núverandi lota vera opin í 10 mínútur, þannig að á þessum tíma geturðu tengst aftur á núverandi tengi. Fyrir frekari upplýsingar, sjá hjálpina. ssh_config man.
18. Straumaðu myndbandi yfir SSH með VLC og SFTP
Jafnvel langvarandi notendur ssh и vlc (Video Lan Client) eru ekki alltaf meðvitaðir um þennan þægilega valkost þegar þú þarft virkilega að horfa á myndband í gegnum netið. Í stillingum Skrá | Opnaðu netstraum forrit vlc þú getur slegið inn staðsetningu sem sftp://. Ef lykilorðs er krafist, birtist hvetja.
sftp://remoteserver//media/uploads/myvideo.mkv
19. Tveggja þátta auðkenning
Sama tveggja þátta auðkenning og bankareikningur þinn eða Google reikningur á við um SSH þjónustuna.
Auðvitað, ssh hefur upphaflega tveggja þátta auðkenningaraðgerð, sem þýðir lykilorð og SSH lykil. Kosturinn við vélbúnaðartákn eða Google Authenticator app er að það er venjulega annað líkamlegt tæki.
Aðalatriðið til að skilja hér er að þetta er ekki það sama og skipunin ssh host1, þá user@host1:~$ ssh host2 o.s.frv. -J valmöguleikinn notar snjall framsendingu til að þvinga localhost til að koma á fundi með næsta hýsil í keðjunni. Svo í dæminu hér að ofan er staðbundinn gestgjafi okkar auðkenndur fyrir host4. Það er, localhost lyklar okkar eru notaðir og lotan frá localhost til host4 er algjörlega dulkóðuð.
Fyrir slíkan möguleika í ssh_config tilgreindu stillingarvalkost ProxyJump. Ef þú þarft reglulega að fara í gegnum nokkra véla, þá mun sjálfvirkni í gegnum stillinguna spara mikinn tíma.
21. Lokaðu SSH brute force tilraunum með því að nota iptables
Allir sem hafa stýrt SSH þjónustu og skoðað annálana vita um fjölda tilrauna til ofbeldis sem eiga sér stað á klukkutíma fresti hvers dags. Fljótleg leið til að draga úr hávaða í lognum er að færa SSH í óstöðluð tengi. Gerðu breytingar á skránni sshd_config í gegnum stillingarbreytu Höfn##.
Með iptables Þú getur líka auðveldlega lokað á tilraunir til að tengjast tengi þegar þú nærð ákveðnum þröskuldi. Auðveld leið til að gera þetta er að nota OSSEC, vegna þess að það lokar ekki aðeins á SSH, heldur gerir fullt af öðrum ráðstöfunum sem byggja á hýsilnafni (HIDS).
22. SSH Escape til að breyta höfn áfram
Og síðasta dæmið okkar ssh hannað til að breyta framsendingu hafnar á flugi innan núverandi lotu ssh. Ímyndaðu þér þessa atburðarás. Þú ert djúpt í netinu; kannski hoppað yfir hálfan tylft véla og þarf staðbundið tengi á vinnustöðinni sem er áframsend til Microsoft SMB í gömlu Windows 2003 kerfi (man einhver eftir ms08-67?).
Að smella enter, reyndu að slá inn í stjórnborðinu ~C. Þetta er lotustjórnunarröð sem gerir þér kleift að gera breytingar á núverandi tengingu.
Hér geturðu séð að við höfum framsent staðbundið port 1445 til Windows 2003 hýsils sem við fundum á innra neti. Nú er bara að hlaupa msfconsole, og þú getur haldið áfram (að því gefnu að þú ætlar að nota þennan gestgjafa).
Frágangur
Þessi dæmi, ráð og skipanir ssh ætti að gefa upphafspunkt; Frekari upplýsingar um hverja skipanirnar og möguleikana eru fáanlegar á handbókarsíðunum (man ssh, man ssh_config, man sshd_config).
Ég hef alltaf verið heilluð af hæfileikanum til að fá aðgang að kerfum og framkvæma skipanir hvar sem er í heiminum. Með því að þróa færni þína með verkfærum eins og ssh þú verður áhrifaríkari í hvaða leik sem þú spilar.