Szeretett volna valaha fájlokat számítógépek hálózatán keresztül átvinni, és biztonsági kihívásokkal kellett szembenéznie? Nos, nem dobhatod ki a fájljaidat a hálózatba, és kívánhatod, hogy biztonságban maradjanak, mint például a Piroska! Biztonsági intézkedésekre van szükség. Olyan fájlátviteli protokollt kell használnia, amely biztosítja az adatok védelmét a jogosulatlan hozzáférés, a hálózati szippantás, az adatszivárgás és más típusú fenyegetések ellen.
A Secure Copy Protocol (SCP) egy hatékony fájlátviteli hálózati protokoll, amely fájlokat továbbít a hálózat különböző gépei között. Ebben a blogbejegyzésben jobban megismerjük ezt a protokollt, és feltárjuk az SCP távolitól a helyi gépekig történő használatának lehetőségeit.
Hogyan működik az SCP?
Az SCP SSH-t (Secure Shell) használ a fájlok átviteléhez. De mit is jelent ez? Az SSH egy hálózati protokoll a szerverek biztonságos távoli elérésére. A továbbított adatfájlok hitelesítésére, titkosítására és integritásának ellenőrzésére szolgáló módszerekkel van felszerelve. Az SCP az SSH által biztosított biztonsági funkciókra és titkosítási módszerekre támaszkodik a fájlok hálózaton keresztüli biztonságos átviteléhez. Ily módon használhatja az SCP-t a távoli szerverekről a helyi szerverekre a biztonságos kapcsolat és fájlátvitel érdekében, és biztos lehet abban, hogy adatai hitelesek és bizalmasak.
SCP használata fájlátvitelhez; Miért és hogyan?
Az SCP távoliról helyire és az SCP helyiről távolira való használata hatékony és rugalmas módja a fájlok átvitelének. Az SCP néhány jelentős előnyt kínál a fájlátvitelhez. Például az SCP robusztusabb biztonsági intézkedéseket kínál, mint más fájlátviteli módszerek, például az FTP. Egy másik szempont, amelyben az SCP eltér a többi protokolltól, a sebesség. Az SCP általában sokkal gyorsabb, mint más protokollok, például az SFTP, és nagyszerű eszköz a Linux-gépek közötti fájlátvitelhez.
Fájlokat áthelyezhet az SCP-vel:
- Helyi gépről távoli gépre
- Távoli gépről helyi gépre
- Távoli gépről egy másik távoli gépre.
Most térjünk át a Linux SCP szintaxisának tényleges használatára a fájlátvitelhez. Az első dolog, amit meg kell tennie, az SSH beállítása mindkét számítógépen. Fontos azonban megjegyezni, hogy az SSH általában minden Linux-gépen telepítve van. Tehát, ha ez a helyzet, akkor kihagyhatja ezeket a lépéseket.
1. Az SSH beállítása
Futtassa a következő parancsot az SSH telepítéséhez:
sudo apt install openssh-client
2. SSH-kulcsok generálása
Az ügyféleszköznek ezután SSH-kapcsolatot kell létrehoznia. A kliens és a kiszolgáló gépek közötti biztonságos kapcsolathoz létre kell hozni egy privát kulcsot és egy nyilvános kulcsot. Ez a parancs létrehoz egy SSH kulcspárt az Ön számára:
ssh-keygen
a parancs futtatása közben valószínűleg meg kell adnia a kulcspár nevét és a jelszót (ez nem kötelező). Ezután a kulcspár létrehozásakor át kell másolnia a nyilvános kulcsot a szervergépre.
Most pedig nézzük meg az SCP parancs általános formáját:
scp [options] [source username@IP]:/[directory/file name] [destination username@IP]:/[directory]
- [opciók] > Ez az első zárójel lecserélhető az SCP parancs különböző opcióival, amelyekre később térünk ki.
- [forrás felhasználónév@IP] > Ezt a zárójelet a helyi gép felhasználónevével és IP-címével kell helyettesíteni. Például: [email protected]
- [könyvtár/fájlnév] > Ezt a zárójelet a küldeni kívánt fájl helyére kell cserélni.
- [célfelhasználónév@IP] > Ezt a zárójelet le kell cserélni a fogadó készülék felhasználónevére és IP-címére.
- [könyvtár] > Cserélje ki ezt a részt a fájl kívánt helyével a távoli gépen.
Tehát most már tudja, hogyan néz ki az általános parancs. Nézzük meg az SCP parancs összes hasznos opcióját:
| Opció | Usecase |
| -C |
Ezzel az opcióval az SCP tömöríti a fájlokat az átvitelkor.
|
| -c <rejtjel> |
Ezzel a beállítással megmondhatja az SCP-nek, hogy egy adott titkosítást használjon. Például scp -c <aes128-ctr>.
|
| -v |
Ez az opció lépésről lépésre mutatja be a folyamatot.
|
| -l <korlát kilobájtban> |
Ez az opció lehetővé teszi a maximális sávszélesség korlátozását. Például a következő példa a sávszélesség-használatot 100 kb/s-ra állítja be: scp -l 100
|
| -P |
Ezzel az opcióval módosíthatja annak a távoli szervernek az ssh portját, amelyhez csatlakozni kíván. Az SCP alapértelmezés szerint a 22-es portot használja.
|
| -S <program neve> |
Ezzel az opcióval kiválaszthat egy programot a csatlakozáshoz.
|
| -r |
Egy teljes fájl vagy könyvtár rekurzív másolása.
|
Fájlok átvitele SCP-vel
Emlékszel, hogy háromféle átutalással rendelkezünk az SCP-vel, igaz? Most az egyes átviteli típusokat külön-külön szeretnénk megvizsgálni. De határozzuk meg a küldetést, mielőtt elkezdjük. Ez a macskafotó van a Linuxos számítógépem asztalán, és első lépésben szeretném átvinni egy Linux távoli szerverre. Ezután visszaviszem a helyi számítógépemre. Végül pedig a szerencsés macska két távoli gép között mozog.

SCP helyiről távolira
Ezzel a paranccsal átvisszük a fájlunkat egy helyi számítógépről egy távoli szerverre:
scp [path/to/the/file] [Username]@[IP address]:[path/to/the/location]
Az scp parancs jelszóval történő használatához meg kell adnia a távoli szerver jelszavát. És akkor kész.

SCP távolról helyire
A folyamat visszafordításához nem kell hozzáférnie a távoli szerver termináljához. A helyi számítógép terminálján írja be ezt a parancsot:
scp [username]@[IP address of the remote machine]:[path/to/the/file] [path/to/the/location]
Amint láthatja, a parancs két részét éppen fordítottuk.

SCP két távoli gép között
Most helyezzük át a macskát két távoli gép között. Ehhez a lépéshez mindkét távoli gépen meg kell adni a jelszót, ezért győződjön meg arról, hogy rendelkezik velük. Ezzel a paranccsal fájlokat vihetünk át két távoli 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 általános SCP-parancsok
A leggyakoribb SCP-parancsok a következők: scp from remote to local, scp from local to remote, és SCP két távoli gazdagép között. De ne álljunk meg itt, és fedezzünk fel néhány más hasznos Linux scp példát.
1. Egy teljes könyvtár rekurzív másolása
Képzelje el, hogy egy teljes könyvtárat szeretne átvinni a benne lévő összes fájllal. Nagyon időigényes lenne ezeket a fájlokat egyenként átvinni. Ehelyett az scp multiple files paranccsal rekurzívan másolhat egy könyvtárat:
scp -r [Path/to/directory] [username of the remote server]@[Ip address]:/[path/to/the/location]
Ez számos forgatókönyv esetén hasznos lehet:
- Kód bevezetése: Amikor kódot vagy webes alkalmazásokat telepít, előfordulhat, hogy egy teljes könyvtárat kell átvinnie annak minden összetevőjével, például fájlokkal és szkriptekkel.
- Biztonsági mentés és szinkronizálás: HA egy teljes könyvtárról szeretne biztonsági másolatot készíteni, vagy ha két könyvtárat szeretne szinkronizálni a helyi gépen és a távoli kiszolgálón, akkor mindent rekurzívan át kell másolnia.
- Rendszer migráció: A rendszer-migráció kulcsfontosságú feladata minden létfontosságú információ másolása és átvitele. Ha az SCP parancsot az -r kapcsolóval használja, akkor biztosan nem marad le semmiről az áthelyezési folyamat során.
2. Sávszélesség-használat korlátozása
Ha szabályozni szeretné az adatok átvitelének sebességét, használja a következő parancsot:
scp -l <limit> [path/to/the/file] [Username]@[IP address]:[path/to/the/location]
De miért tennéd?
Ebben a két forgatókönyvben a Linux scp szintaxisával korlátozhatja a sávszélességet:
- Hálózati torlódás: Ha a hálózat túlterhelt, a sávszélesség scp-vel történő korlátozása segíthet a hálózati erőforrások elosztásában. A sávszélesség SCP-vel történő korlátozása biztosítja, hogy a hálózattal kapcsolatos egyéb feladatok problémamentesen fussanak. Ez akkor is fontos, ha fájlokat viszünk át megosztott hálózaton, és az Ön folyamata akadályozhatja a többi felhasználó hálózati tevékenységét.
- Háttér átvitelek: A háttérben végzett SCP-átvitelek, például az automatikus biztonsági mentések vagy a szinkronizálási folyamatok során előfordulhat, hogy ezek a feladatok felemésztik a hálózati erőforrásokat. Ebben az esetben korlátozhatja az átviteli folyamatok sávszélességét az erőforrások jobb kezelése érdekében.
3. Részletes napló beszerzése
Ha az SCP-vel együtt használja a -v opciót, részletes naplót kaphat az átviteli folyamatról. Az alábbi paranccsal részletes visszajelzést és információkat kaphat:
scp -v [path/to/the/file] [Username]@[IP address]:[path/to/the/location]
Ezért kell emlékeznie és használnia ezt a parancsot:
- Hibaelhárítás: Ezzel az opcióval megmutatja az átvitel folyamatát. Olyan információkat láthat, mint a fájlméret és a befejezettség százalékos aránya. Hibaüzeneteket és figyelmeztetéseket is ad. Ezen adatok kombinálása lehetővé teszi az átviteli folyamat nyomon követését és szükség esetén hibaelhárítását.
4. SSH-port megadása
A Linux scp szintaxis használata a -P kapcsolóval lehetővé teszi változtassa meg az SSH portot. Íme a parancs, amellyel ezt megteheti:
scp -P [port number] [path/to/the/file] [Username]@[IP address]:[path/to/the/location]
Ez hasznos lehet:
- Tűzfal konfiguráció: Ha az alapértelmezett SSH-port korlátozott, vagy ha el szeretné rejteni az SSH-szolgáltatást a lehetséges fenyegetésektől, módosíthatja az SSH-portot.
Vannak alternatívák az SCP-nek?
Az SCP gyors és biztonságos, és ha ismeri a megfelelő Linux scp szintaxist és némi hibaelhárítási ismeretet, ez lehet az egyetlen eszköz, amire szüksége van. Azonban nem árt áttekinteni az alternatíváit.
1. rsync
Az rsync egy sokoldalú fájlátviteli eszköz fejlett szinkronizálási lehetőségekkel, növekményes átvitellel, valamint távoli és helyi másolással. A sávszélesség-használatot is csökkentheti azáltal, hogy csak a forrás- és célfájlok közötti különbségeket viszi át. Az rsync használatának másik nagy előnye, hogy a megszakított fájlátvitelt onnan tudja felvenni, ahol abbahagyták, és folytatni tudja a folyamatot.
rsync Pros
- Fájlok és könyvtárak hatékony szinkronizálása.
- Támogatja a delta-átviteli algoritmust, csökkentve az adatátvitelt.
- Folytatni tudja a megszakított átviteleket.
rsync Hátrányok
- Az rsync-t a forrás- és a célrendszeren is telepíteni kell.
- Az scp-hez képest több beállítási és parancslehetőséget igényel.
2. SFTP (SSH fájlátviteli protokoll)
Az SFTP biztonságos módot biztosít a fájlok SSH-n keresztüli átvitelére. Az FTP-hez hasonló funkciókat kínál, de titkosított SSH-kapcsolaton keresztül működik, akárcsak az SCP. De bizonyos területeken az SFTP előnyei meghaladják az SCP előnyeit. Az SCP nem tud címtárlistákat generálni, könyvtárakat létrehozni vagy törölni stb. Az SFTP azonban mindezen feladatokat el tudja látni.
SFTP profik
- Biztonságos fájlátvitel titkosítással.
- Távoli fájlkezelési lehetőségek.
- Széles körű elérhetőség a legtöbb Linux és Unix rendszeren.
SFTP hátrányok
- A parancsok szintaxisa és használata eltér a hagyományos FTP-től.
- Korlátozottan támogatható bizonyos beágyazott rendszereken vagy eszközökön.
3. FTP (File Transfer Protocol)
Az FTP egy széles körben használt szabványos fájlátviteli protokoll. Kliens-szerver modellben működik, és alapvető fájlátviteli funkciókat kínál.
FTP profik
- Széles körű támogatás a különböző platformokon.
- Ismerős parancssori és grafikus kliensek állnak rendelkezésre.
FTP hátrányai
- Hiányzik a titkosítás / kevésbé biztonságos az scp-hez és az sftp-hez képest.
- A kapcsolatok létrehozásához további tűzfalkonfigurációra lehet szükség.
- Sima szöveges hitelesítés.
Összességében, míg az scp egyszerű és megbízható választás az SSH-n keresztüli biztonságos fájlátvitelhez, az olyan alternatívák, mint az rsync, az sftp és az FTP, további szolgáltatásokat és rugalmasságot kínálhatnak a konkrét követelményektől függően.
Tehát hogyan dönti el, 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, valamint a rendszerekkel és protokollokkal való kompatibilitás. Például, ha a biztonság és az adatok bizalmas kezelése a legfontosabb tényezők a fájlátvitel során, akkor az FTP nem jó választás.
Következtetés
Az SCP egy gyors és biztonságos eszköz a számítógépek közötti fájlátvitelhez. Fájlok átviteléhez használhatja az scp-t távoliról helyire, helyiről távolira, sőt két távoli rendszer között is. És bár az SCP-nek vannak olyan alternatívái, amelyek megfelelő munkát végeznek, mint például az rsync, sok tekintetben felülmúlja azokat, különösen a biztonság és a sebesség tekintetében. Ebben a blogbejegyzésben az SCP-ről, annak használati eseteiről és alternatíváiról beszéltünk, valamint egy csalólapot is adtunk a gyakran használt szintaxis egyszerű eléréséhez.
GYIK
Vannak-e olyan biztonsági aggályok, amelyekkel tisztában kell lennem, amikor az SCP-t távolról helyire használom?
Az SCP meglehetősen biztonságos eszköz, és használata közben nem kell aggódnia a biztonsági fenyegetések miatt. Azonban mindig ajánlott minden további biztonsági intézkedést megtenni.
Melyek azok a gyakori hibák, amelyek az SCP távoli helyire történő használatakor fordulnak elő?
Ha SCP-t használ a fájlok távoli kiszolgálóról a helyi gépre való átvitelére, a felhasználók számos gyakori hibába ütközhetnek. Íme a két leggyakoribb hiba az SCP távolról helyire történő használatakor:
- Nincs ilyen fájl vagy könyvtár: ez a hiba akkor fordul elő, ha nem a megfelelő portszámot adta meg, a fájlengedély-beállítások helytelenek, vagy ha a bejelentkezési adatok helytelenek.
- A gazdagép kulcsának ellenőrzése sikertelen: Ez a hibaüzenet akkor jelenik meg, ha a gazdagép kulcsa a kiszolgáló frissítése miatt megváltozott. A gazdagépkulcs azt mutatja, hogy korábban csatlakozott ehhez a szerverhez, és ha a gazdagépkulcs ellenőrzése sikertelen, azt jelzi, hogy a szerver identitása megváltozott. Ez a hiba megpróbálja megvédeni Önt attól, hogy csalószerverhez csatlakozzon.
Hogyan használhatom az SCP-t a fájlok távoli rendszerek közötti átvitelére?
Az SCP-t használó rendszerek közötti fájlok sikeres átviteléhez mindkét számítógépnek elérhetőnek kell lennie SSH-n keresztül. szükség van a távoli gépek IP-címére és jelszavára is. A többi csak a megfelelő SCP parancsot használja:
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]
A parancs beírása után meg kell adnia a jelszót a kiszolgálóknak. Ezt követően a fájl átvitelre kerül.