Távoli elérés

Belépés távoli gépre konzolosan

A konzolos elérés több évtizedes múltra tekint vissza, mondhatni egyidős a számítógépes hálózatokkal. Az első ilyen protokoll a telnet, melyet az ugyanilyen nevű programmal lehetett használni. Az alapértelmezett telnet port távoli belépésre a 23, bár magával a programmal bármely portot el tudjuk érni.

A titkosítás problémája igen korán jelentkezett, mert titkosítatlanul érzékeny adatok (pl. jelszavak) kerülhetnek illetéktelen kezekbe. A titkosított csatornán történő távoli elérés protokollja az ssh (Secure Shell), aminek az alapértelmezett portja a 22.

A legnépszerűbb telnet ill. ssh kliens Windows-on (az egyébként grafikus) PuTTY (https://www.putty.org/), Linuxon pedig a telnet ill. ssh. Klasszikusan azonosítóval és jelszóval tudunk belépni távoli szerverre, az ssh viszont lehetővé teszi a kulcsokkal történő belépést. Ez a következőképpen történik: a felhasználó generál magának egy publikus és egy privát kulcs párt, pl. a PuTTYgen program segítségével. A publikus kulcsot elküldi a távoli szerver rendszergazdájának, aki beregisztrálja a /home/[user]/.ssh/authorized_keys fájlba. Itt egy sor egy bejegyzés, ami ssh-rsa-val kezdődik. A privát kulcsot titokban kell tartani. A PuTTY kliensben a Connection → SSH → Auth → Private key for authentication alatt kell beállítani. Windows-on a privát kulcs tipikus helye c:\Users\[user]\.ssh\private.ppk.

A privát kulcsot célszerű jelszóval védeni. A Pageant nevű program segítségével tudjuk a jelszót memóriában tartani, így nem kell minden egyes alkalommal begépelni.

Távoli grafikus elérés

A távoli grafikus elérésre több lehetőség is létezik. Az alábbiakban van némi tapasztalatom:

  • Remote Desktop: egy Windows-os megoldás
  • NoMachine: Linux szerverrel

A jump szerver fogalma

Ha nem szeretnénk, hogy egy szerver közvetlenül kívülről elérhető legyen (tipikusan egy üzemeltetői szerver), akkor ún. jump szerver mögé lehet tenni. A jump szerver elérhető kívülről, és annak az az egyetlen szerepe van, hogy csak onnan érhető el a védendő szerver. Először tehát a jump szerverre csatlakozunk, és onnan tovább a védett szerverre. Kívülről legfeljebb a jump szervert támadható, az üzemeltetői nem.

Fájlok másolása számítógépek között

Klasszikus feladat fájlok átmásolása egyik szerverről a másikra. Az ftp-t (file transfer protocol) használhatjuk erre a célra, ami egyébként az olyan fájlkezelő szoftverekben is megtalálható, mint pl. a Total Commander. Linux operációs rendszeren általában parancssorosan létezik ftp program; ez esetben az ftp a file transfer program rövidítése. Amilyen egyszerűnek hangzik a feladat, olyan sok fejtörést okozott egyébként az idők folyamán. Mindennek az oka az, hogy a Windows rendszereken a a sor vége \r\n (tehát kocsi vissza + új sor), míg a Linux rendszereken \n (ami kocsi vissza és új sor egyszerre). Ma már többnyire képesek mindkét oldalon kezelni a programok az eltérést, de volt idő, amikor egy az egyben történő átmásolásnál (Windows-ról Linuxra) megduplázódtak a sorok, mert a Linux rendszerek a \r-t is új sorként értékelték. Erre találták ki a szöveges másolási módot,amivel nagyobb bajt nem is tudtak volna okozni: ettől kezdve ugyanis előfordult, hogy bináris fájlokat (pl. képeket) véletlenül szöveges formában továbbítottak, minek következtében a célszerveren használhatatlanná vált.

Idővel a biztonsági kérdések váltak jelentőssé. Ne feledjük, hogy az interneten ha rácsatlakozunk egy szerverre, a kapcsolat a legritkább esetben közvetlen, az adat számos köztes szerveren halad keresztül, ráadásul a pontos útvonal legtöbb esetben nem is determinisztikus. Ha bizalmas adatokat másolunk egyik szerverről a másikra, akkor könnyen lehet, hogy egy köztes szerver azokat "lehallgatja". Ennek kezelésére találták ki az sftp-t (secure file transfer protocol). Ez a kliens oldalon titkosítja az adatokat, és szerver oldalon visszafejti, a köztes szerverek nem tudják az adatot visszafejteni. Linux alatt az scp, míg Windows alatt a WinSCP a legnépszerűbb sftp kliens. Az ssh-hoz hasonlóan az autentikáció itt is történhet azonosítóval és jelszóval, vagy publikus-privát kulcspárral.

Az ftp fel- és letöltésre is egyaránt alkalmas, és tipikusan mindkét irányban használják is.

Több fájl letöltésére, ill. leginkább egy weboldal tükrözésére használható a parancssoros wget nevű program. Ez csak letöltésre használatos. A html oldalakon követi a linkeket. Megadható, hogy milyen mélységben kövesse, ill. hogy kiléphet-e az adott domain-ről.

Windows alatt ingyen elérhető a HTTrack, mely ugyanezt a célt szolgálja, de grafikus felhasználói felülettel rendelkezik.

Virtuális privát hálózat

Lehetnek olyan erőforrások (belső szerverek, céges intranet stb.), amelyek csak belső hálózatról érhetőek el. Ha kívülről is el szeretnénk ezeket érni, akkor a VPN (Virtual Private Network) technológiát tudjuk használni. Tipikusan egy generált kódot használva tudunk belépni egy VPN szerverre, aminek eredményeképpen olyan IP címet kapunk, amelyet a rendszer belsőként érzékel, így hozzáférhetünk a védett erőforrásokhoz is.

Léteznek olyan VPN szolgáltatók, melyek segítségével olyan IP címet kaphatunk, ami egy másik országra jellemző. Így olyan szolgáltatást is igénybe vehetünk, ami csak egy másik ország területén elérhető.

Lokálisan futó web interfész távoli elérése

Előfordulhat, hogy egy rendszer lokálian fut, és (leginkább tesztelés céllal) kívülről el szeretnénk érni. Ehhez használhatjuk a https://ngrok.com/ oldalt, amelynek segítségével elkészíthetünk egy ilyen átirányítást. Használat: töltsük le a programot, majd indítsuk el a következőképpen:

ngrok http 8080

URL rövidítés

Ha szükségünk van rövidebb URL-re, vagy gyorsan lére szeretnénk hozni egy átirányítást, akkor az URL rövidítő szolgáltatásokat használhatjuk. Néhány példa:

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License