Volt már olyan ötleted, hogy fájlokat küldj át egy számítógéphálózaton, és biztonsági kihívásokkal szembesültél? Nos, nem dobhatod csak úgy a fájlokat a hálózatba, és remélheted, hogy biztonságosak és épek maradnak, mint a Vörös Övé! Szükséged van biztonsági intézkedésekre. Használj egy olyan fájlátviteli protokollt, amely megvédi az adataidat az illetéktelen hozzáférés, a hálózati lehallgatás, az adatsértések és más fenyegetések ellen.
A Secure Copy Protocol (SCP) egy erőteljes fájlátviteli hálózati protokoll, amely fájlokat továbbít egy hálózaton belüli különböző gépek között. Ebben a blogbejegyzésben jobban megismerkedünk ezzel a protokollal, és feltárjuk az SCP távolról helyi gépekre történő használatának lehetőségeit.
Hogyan működik az SCP?
Az SCP az SSH (Secure Shell) protokollt használja a fájlok átviteléhez. De mit is jelent ez valójában? Az SSH egy hálózati protokoll, amely biztonságos és megbízható távoli hozzáférést biztosít a szerverekhez. Olyan módszerekkel van felszerelve, amelyek az azonosítást, az adattitkosítást és az átvitt adatfájlok integritásának ellenőrzését végzik. Az SCP az SSH által biztosított biztonsági funkciókat és titkosítási módszereket használja fel a fájlok hálózaton keresztüli biztonságos átviteléhez. Így az SCP-t használhatod távoli szerverekről helyi szerverekre való biztonságos kapcsolathoz és fájlátvitelhez, és biztosíthatod az adatok hitelességét és titkosságát.
SCP használata fájlátvitelekhez: Miért és hogyan?
Az SCP távolról helyre és az SCP helyről távolra történő használata egy hatékony és rugalmas módszer a fájlok átvitelére. Az SCP jelentős előnyöket kínál a fájlátvitel terén. Például az SCP biztonságosabb intézkedéseket kínál, mint más fájlátviteli módszerek, mint az FTP. Egy másik terület, amelyben az SCP eltér más protokolloktól, a sebesség. Az SCP általában sokkal gyorsabb más protokolloknál, mint az SFTP, és nagyszerű eszköz az Linux gépek közötti fájlátvitelhez.
Az SCP-vel átmozgathatsz fájlokat:
- Helyi gépről távoli gépre
- Egy távoli gépről egy helyi gépre
- Egy távoli gépről egy másik távoli gépre.
Most pedig nézzük meg az Linux SCP szintaxisát a gyakorlatban a fájlátvitelhez. Az első dolog, amit meg kell tenned, hogy beállítsd az SSH-t mindkét számítógépedre. Azonban fontos megjegyezni, hogy az SSH általában az összes Linux gépen telepítve van. Tehát, ha ez a helyzeted, akkor kihagyhatod ezeket a lépéseket.
1. SSH beállítása
Az SSH telepítéséhez futtasd a következő parancsot:
sudo apt install openssh-client
2. SSH-kulcsok generálása
Az ügyféleszköznek ezután létre kell hoznia egy SSH kapcsolatot. Az ügyfél és a szervereszköz közötti biztonságos kapcsolathoz privát kulcsra és nyilvános kulcsra van szükség. Ez a parancs létrehoz egy SSH kulcspárt számodra:
ssh-keygen
A parancs futtatása közben valószínűleg meg fog kérdeznünk a kulcspár nevét és egy jelszót (ez nem kötelező). Majd amikor a kulcspár létrehozódik, másolnod kell a nyilvános kulcsot a szervereszközre.
Most nézzük meg az SCP parancs általános formáját:
scp [options] [source username@IP]:/[directory/file name] [destination username@IP]:/[directory]
- [options] > Ez az első zárójel az SCP parancs különböző lehetőségeivel helyettesíthető, amelyeket később tárgyalunk.
- [source username@IP] > Ezt a részt le kell cserélni a felhasználónév és a helyi gép IP-címével. Például: [email protected]
- [directory/file name] > Ez a rész helyére a küldeni kívánt fájl elérési útját írja be.
- [destination username@IP] > Ezt a részt az fogadó gép felhasználónevével és IP-címével kell helyettesíteni.
- [directory] > Cserélje le ezt a szakaszt a fájl kívánt helyével a távoli gépen.
Szóval, most már tudod, hogy az általános parancs hogy néz ki. Nézzük meg az SCP parancs összes hasznos opcióját:
| Lehetőség | Felhasználási eset |
| -C |
Ezzel az opcióval az SCP tömöríti a fájljaidat az átvitel során.
|
| -c <cipher> |
Ezzel az opcióval megadhatja az SCP-nek, hogy egy adott titkosítási algoritmust használjon. Például: scp -c <aes128-ctr>.
|
| -v |
Ez az opció lépésről lépésre bemutatja a folyamat menetét.
|
| -l <limit in kilobytes> |
Ez az opció lehetővé teszi a maximális sávszélesség korlátozását. Például az alábbi parancs a sávszélesség-használatot 100 kb/másodpercre állítja: scp -l 100
|
| -P |
Ezzel az opcióval megváltoztathatod a távolsági szerver SSH portját, amelyhez csatlakozni szeretnél. Az SCP alapértelmezetten a 22-es portot használja.
|
| -S <program neve> |
Ezzel az opcióval kiválaszthatsz egy programot a kapcsolódáshoz.
|
| -r |
Egy teljes fájl vagy könyvtár rekurzív másolása.
|
Fájlok átvitele SCP-vel
Mint tudod, az SCP-vel három féle átviteli típus lehetséges, igaz? Most mindegyik típust részletesen meg szeretnénk vizsgálni. De előbb tisztázzuk a feladatot. Van egy macska fotó az Linux számítógépem asztalán, és első lépésben ezt egy Linux távolsági szerverre szeretném átvitetni. Majd vissza a helyi számítógépemre. Végül pedig a szerencsés macska két távolsági gép között vándorol majd.

SCP Helyi Gépről Távolira
Ez a parancs a fájlunkat a helyi számítógépről egy távolsági szerverre másolja:
scp [path/to/the/file] [Username]@[IP address]:[path/to/the/location]
Az scp parancs jelszóval való használatához a távolsági szervered jelszavát kell megadnod. Utána már kész is vagy.

SCP távolról helyre
Ennek a folyamatnak a visszavonásához nem szükséges hozzáférned a távolsági szervered terminálához. A helyi számítógépednek a terminálában add be ezt a parancsot:
scp [username]@[IP address of the remote machine]:[path/to/the/file] [path/to/the/location]
Amint látod, az parancs két részét egyszerűen megcseréltük.

SCP két távoli gép között
Most a macskát két távolsági gép között fogjuk átvinni. Ez a lépés mindkét távolsági géphez szükséges jelszót igényli, ezért győződj meg róla, hogy rendelkezel velük. Használd ezt a parancsot egy fájl átvitelére két távolsági számítógép között:
scp [username of the 1st remote machine]@[IP address of the 1st remote machine]:[path/to/the/file] [username of the 2nd remote machine]@[IP address of the 2nd remote machine]:/[path/to/location]

Egyéb gyakori SCP parancsok
Az SCP leggyakoribb parancsai a távolsági-helyi, helyi-távolsági, és két távolsági gép közötti átvitel. De ne hagyjuk abba, és fedezzünk fel további hasznos Linux scp példákat.
1. Egy teljes könyvtár rekurzív másolása
Képzelj el egy olyan helyzetet, ahol egy egész könyvtárat szeretnél átvinni az összes benne lévő fájllal együtt. Ha az összes fájlt egyenként másolnád, az nagyon időigényes lenne. Helyette használhatod az scp többszörös fájl parancsot egy könyvtár rekurzív másolásához:
scp -r [Path/to/directory] [username of the remote server]@[Ip address]:/[path/to/the/location]
Ez számos helyzetben hasznos lehet:
- Kód üzembe helyezése: kód vagy webalkalmazások telepítésénél szükséges lehet egy egész könyvtárat átvinni az összes komponensével, úgy mint fájlok és scriptek.
- Biztonsági mentés és szinkronizálás: Ha egy teljes könyvtár biztonsági másolatát szeretné készíteni, vagy két könyvtárat szeretne szinkronizálni a helyi gép és a távoli kiszolgáló között, akkor minden tartalmat rekurzívan kell másolnia.
- Rendszer migráció: A rendszermigráció során kritikus feladat az összes vitális információ másolása és átvitele. Az SCP parancs -r opcióval való használata biztosítja, hogy semmit ne hagysz ki az átviteli folyamaton.
2. Sávszélesség-használat korlátozása
Ha szabályozni szeretnéd az adatok átvitelének sebességét, használhatod ezt a parancsot:
scp -l <limit> [path/to/the/file] [Username]@[IP address]:[path/to/the/location]
Miért is tennéd ezt?
Ezekben a helyzetekben használhatod az Linux scp szintaxist a sávszélesség korlátozásához:
- Hálózati túlterheltség: Ha a hálózat erősen túlterhelt, a sávszélesség korlátozása az SCP-vel segíthet a hálózati erőforrások elosztásában. A sávszélesség korlátozása biztosítja, hogy a többi hálózattal kapcsolatos feladat zavar nélkül működjön. Ez különösen fontos megosztott hálózaton történő fájlátvitel esetén, ahol a folyamatod gátolhatja más felhasználók hálózati tevékenységét.
- Háttérben történő átvitelek: Háttérben futó SCP átvitelek, például automatikus biztonsági másolatok vagy szinkronizálási folyamatok során fennáll annak a lehetősége, hogy ezek a feladatok felhasználják a hálózati erőforrásaidat. Ilyenkor korlátozhatod a sávszélességet ezeken az átviteli folyamatokon, hogy jobban kezeld az erőforrásokat.
3. Részletes napló megtekintése
Az -v opció használata az SCP-vel részletes naplót biztosít az átviteli folyamat további információiról. Az alábbi paranccsal részletes visszajelzést és információkat kaphatsz:
scp -v [path/to/the/file] [Username]@[IP address]:[path/to/the/location]
Ezért fontos megjegyezni és használni ezt a parancsot:
- Hibaelhárítás: ezzel az opcióval valós időben láthatod az átvitel előrehaladását. Láthatod az olyan információkat, mint a fájl mérete és a befejezés százalékos aránya. Hibaüzeneteket és figyelmeztetéseket is kapsz. Ezek az adatok kombinálásával monitorozhatod és hibákat elháríthatod az átviteli folyamaton, ha szükséges.
4. SSH port megadása
A Linux scp szintaxisnak a -P opcióval való használata lehetővé teszi, hogy SSH port módosítása. Íme a parancs, amely ezt lehetővé teszi:
scp -P [port number] [path/to/the/file] [Username]@[IP address]:[path/to/the/location]
Ez hasznos lehet a következőkhöz:
- Tűzfal konfigurációja: Ha az alapértelmezett SSH port blokkolt, vagy el szeretné rejteni az SSH szolgáltatást a lehetséges fenyegetésektől, módosíthatja az SSH portot.
Vannak alternatívái az SCP-nek?
Az SCP gyors és biztonságos, és a helyes Linux scp szintaxis ismeretével valamint némi hibaelhárítási tudással az egyetlen eszköz lehet, amire szükséged van. Azonban semmi baj nincs abban, ha áttekinted az alternatíváit.
1. rsync
Az rsync sokoldalú fájlátviteli eszköz fejlett szinkronizálási képességekkel, inkrementális átvitelekkel, valamint távoli és helyi másolásos lehetőségekkel. Sávszélességet takaríthat meg azáltal, hogy csak a forrás és a célfájlok közötti különbségeket továbbítja. Az rsync másik nagy előnye, hogy megszakított fájlátviteleket folytathat azon a ponton, ahol abbahagyta.
rsync Előnyei
- Fájlok és könyvtárak hatékony szinkronizálása.
- Támogatja a delta-transfer algoritmust, csökkentve az adatátvitelt.
- Szünetelt átvitelek folytatása lehetséges.
rsync Hátrányai
- Az rsync telepítése szükséges a forrás- és célrendszereken egyaránt.
- Az scp-vel összehasonlítva több beállítás és parancsopció szükséges.
2. SFTP (SSH fájlátviteli protokoll)
Az SFTP biztonságos módot biztosít fájlok átvitelére SSH-n keresztül. Hasonló funkcionalitást kínál, mint az FTP, de titkosított SSH-kapcsolaton keresztül működik, csakúgy, mint az SCP. Azonban egyes területeken az SFTP előnyei meghaladják az SCP előnyeit. Az SCP nem tud könyvtárlistákat készíteni, könyvtárakat létrehozni vagy törölni stb. Az SFTP azonban képes az összes ilyen feladat elvégzésére.
SFTP előnyei
- Biztonságos fájlátvitel titkosítással.
- Távoli fájlkezelési lehetőségek.
- Széles körben elérhető a legtöbb Linux és Unix rendszeren.
SFTP Hátrányai
- A parancsszintaxis és a használat eltér a hagyományos FTP-től.
- Korlátozott támogatás lehet bizonyos beágyazott rendszereken vagy eszközökön.
3. FTP (Fájlátviteli Protokoll)
Az FTP egy széles körben használt szabványos protokoll fájlok átvitelére. Kliens-szerver modellben működik, és alapvető fájlátviteli funkciókat biztosít.
FTP előnyei
- Széles támogatás különféle platformok között.
- Ismert parancssoros és grafikus kliensek érhetők el.
FTP Hátrányai
- Nem rendelkezik titkosítással / kevésbé biztonságos, mint az scp és sftp.
- Előfordulhat, hogy további tűzfal-konfigurációra van szükség a kapcsolatok létesítéséhez.
- Egyszerű szöveges hitelesítés.
Összességében az scp egy egyszerű és megbízható választás a biztonságos fájlátviitelhez SSH kapcsolaton, de az rsync, sftp és FTP alternatívák további funkciókat és rugalmasságot kínálhatnak az Ön specifikus igényeitől függően.
Hogyan dönt akkor, hogy melyiket válassza? Vegye figyelembe az olyan tényezőket, mint a biztonság, a szinkronizálási igények, a könnyű használat és a kompatibilitás a rendszereivel és protokoljaival. Ha például a biztonság és az adatvédelem a legfontosabb tényezők az Ön fájlátviitelénél, akkor az FTP nem jó választás.
Következtetés
Az SCP egy gyors és biztonságos eszköz fájlok átvitelére számítógépek között. Az scp-t használhatod távoli rendszerről helyi gépre, helyi gépről távoli rendszerre, sőt két távoli rendszer között is fájlok átvitelére. Bár vannak olyan alternatívák az SCP-hez, mint az rsync, amelyek megfelelően elvégzik a feladatot, az SCP számos szempontból felülmúlja őket, különösen a biztonság és a sebesség terén. Ebben a blogbejegyzésben az SCP-ről, annak felhasználási eseteivel, alternatíváival beszéltünk, valamint egy cheat sheet-et biztosítottunk a leggyakrabban használt szintaxis könnyű eléréséhez.
Gyakran Ismételt Kérdések
Vannak biztonsági aggályaim, amelyekre figyelnem kell az SCP távolról helyi gépre történő használatakor?
Az SCP egy meglehetősen biztonságos és megbízható eszköz, és nem kell aggódnod a biztonsági fenyegetésektől annak használata során. Azonban mindig ajánlott minden lehetséges további biztonsági intézkedést megtenni.
Milyen közös hibák fordulnak elő az SCP távolról helyre történő használatakor?
Amikor az SCP-t használja fájlok átvitelére egy távoli szerverről egy helyi gépre, a felhasználók számos gyakori hibával találkozhatnak. Íme a két leggyakoribb hiba az SCP távolról helyre átvitelkor:
- Nincs ilyen fájl vagy könyvtár: ez a hiba akkor fordul elő, ha nem adta meg a megfelelő portszámot, a fájl engedélyei helytelenek, vagy a bejelentkezési információ hibás.
- Gazdagép-kulcs ellenőrzése sikertelen: Ez a hibaüzenet akkor jelenik meg, amikor a gazdagép-kulcs megváltozott a szerver frissítése miatt. A gazdagép-kulcs azt mutatja, hogy korábban csatlakoztál ehhez a szerverhez, és amikor a gazdagép-kulcs ellenőrzése meghiúsul, az azt jelzi, hogy a szerver azonossága megváltozott. Ez a hiba arra irányul, hogy megvédje Önt egy hamis szerverre való csatlakozástól.
Hogyan használom az SCP-t fájlok átvitelére távoli rendszerek között?
Az SCP-vel a rendszerek közötti fájlátvitel sikeres elvégzéséhez mindkét számítógépnek elérhetőnek kell lennie az SSH kapcsolaton keresztül. Szükség van a távoli gépek IP-címére és jelszavára is. A többi csak a helyes SCP parancs használata:
scp [username of the 1st remote machine]@[IP address of the 1st remote machine]:[path/to/the/file] [username of the 2nd remote machine]@[IP address of the 2nd remote machine]:/[path/to/location]
Miután beírta ezt a parancsot, megkérdezik, adja meg a szerverek jelszavát. Utána a fájl átvitelre kerül.