Az scp parancs használata a fájlok biztonságos átviteléhez Linux alatt

Tegyük fel, hogy néhány fájlt szeretne átvinni a szerverek között egy Linux rendszeren. A feladatot többféleképpen is elvégezheti, de ha a fájlok biztonságos átvitele a legfontosabb, akkor marad néhány lehetőség. A legegyszerűbb megoldás az scp vagy a secure copy parancs használata a fájlok átviteléhez anélkül, hogy a biztonság miatt aggódna. Ebben a cikkben elmagyarázzuk, hogyan használhatja biztonságosan az átviteli fájlokat az scp paranccsal a Linux rendszeren.

Fájlok átvitele az scp paranccsal Linuxon (2023)

Mi az scp Command Linuxban?

Amikor a fájlok biztonságos hálózaton keresztül történő átviteléről van szó, az scp parancs nagyon hasznos lehet. A Secure Copy Protocol rövidítése, és fájlokat és könyvtárakat továbbít két rendszer között SSH (Secure Shell) kapcsolaton keresztül. Az ssh használatával biztos lehetsz a fájlok biztonságában, mivel azok alapértelmezés szerint titkosítva vannak. Egyszerűbben fogalmazva, az scp parancs a cp parancs biztonságosabb változata, amelyről a Linux terminálparancsokról szóló cikkünkben olvashat.

Az scp parancs használata: Szintaxis és beállítások

Mielőtt fájlokat vihetünk át scp-n keresztül, nézzük meg itt a parancs szintaxisát és beállításait:

scp <[email protected]_ip_address:útvonal/forrás/fájl> <[email protected]_ip_address:cél/útvonal>

A szintaxis értelmezése:

  • Először is <[email protected]Az _ip_address:path/to/source/file> megadja a „forrás” rendszert, ahonnan át kell vinnie a fájlokat/könyvtárakat.
  • Másodszor, <[email protected]Az _ip_address:target/path> azt a „cél” rendszert határozza meg, amelyre át kívánja vinni a fájlokat/könyvtárakat.

Ha elhagyja a fenti paraméterek bármelyikét, a Linux scp parancsa először megkeresi a fájlt, majd helyileg másolja a fájlt. Néhány lehetőség a paranccsal való párosításhoz:

  Hogyan menthet DVD-ket és Blu-ray-ket Linux számítógépére

OptionsDestination-PMeghatározza, hogy melyik portot kell csatlakozni a gazdagéphez. Ha kihagyja, akkor alapértelmezés szerint a 22-es portot használja.-pMegőrzi a módosítási időket, a hozzáférési időket és a módokat az eredeti fájlból, amikor a célrendszerre másolja.-rA teljes könyvtárat rekurzívan átmásolja a célrendszerbe.-JU csatlakozik a forrásrendszer és célrendszer proxyrendszeren (jump host) keresztül.-3ha ezt a jelzőt használják, a fájlokat a célrendszerre és a helyi rendszerre is átmásolja -4kikényszeríti az scp parancsot, hogy csak IPv4-címeket használjon.-6kikényszeríti a scp parancsot, hogy csak IPv6-címeket használjon.

Fájlok másolása az scp paranccsal

Mielőtt használná az scp parancsot Linuxban, van néhány előfeltétel, amelyeket teljesítenie kell mind a gazdagépen, mind a célrendszeren:

  • ssh-t kell telepíteni
  • root hozzáféréssel vagy bármely sudo jogosultsággal rendelkező felhasználóval

Fájlok másolása a helyi gazdagépről a távoli célpontra

Ha van egy fájlja, amelyet át kell vinnie a helyi rendszerről egy távoli célpontra, akkor a következő szintaxist kell használnia:

scp @:<útvonal a_üzletben_távoli_célhelyen>

Ha a fenti szintaxis bonyolultnak tűnhet, egy példa tisztázza:

scp teszt.txt [email protected]:/home/remote2/Documents/

A fenti példában:

  • A test.txt az átvinni kívánt fájl neve, amely a helyi rendszer aktuális könyvtárában található.
  • test a felhasználónév a célrendszeren.
  • A 139.144.11.105 a célrendszer IP-címe.
  • A /home/remote2/Documents/ az a hely a célrendszeren, ahová az átvitt fájl mentésre kerül.

Fájlok másolása a távoli gazdagépről a helyi célpontra

Ha fájlt kell átvinnie egy távoli gazdagépről a helyi gépre, használja a következő scp parancs szintaxisát a Linux rendszeren:

scp @:<átviteli_fájl_útvonala>

Tegyük fel például, hogy át kell vinnie egy test.py nevű fájlt a távoli szerverről, amelyen dolgozik, használja ezt a parancsot:

scp [email protected]:/home/test/test1.py ~/test1.py

Ebben a példában:

  • test a távoli gazdagép felhasználóneve.
  • A 10.10.11.113 a távoli gazdagép IP-címe.
  • A /home/test/test1.py a távoli gazdagépről továbbítandó fájl elérési útja.
  • A ~/test1.py a fájl neve a helyi gépre való átvitel és a saját könyvtárban való tárolás után.

Fájlok átvitele egyik távoli gépről egy másik távoli célpontra

Az scp paranccsal nem csak a helyi rendszer és egy távoli gép között, hanem két távoli rendszer között is átvihet fájlokat. Mielőtt azonban fájlokat vihetne át egyik távoli rendszerről egy másik távoli rendszerre, javasoljuk, hogy hozzon létre egy privát ssh-kulcsot és egy nyilvános ssh-kulcsot a forrásrendszeren, és tárolja a nyilvános kulcs másolatát a célrendszeren.

  Linux-alkalmazások futtatása a Bash-ból Windows 10 rendszeren [Guide]

Általában a felhasználók panaszkodnak a „Host key ellenőrzése sikertelen” hibára, amikor fájlokat visznek át két távoli rendszer között. A hiba megkerüléséhez használjon ssh-kulcsot kiegészítő intézkedésként. Itt elmagyaráztuk, hogyan teheti ezt meg:

1. Hozzon létre egy nyilvános/privát kulcspárt a forráskiszolgálón ezzel a paranccsal:

ssh-keygen -t

2. A titkosítási algoritmusokhoz használhatja az „rsa”-t, amely a leggyakrabban használt algoritmus, vagy bármely más, az Ön által választott algoritmust.

3. Ezután a rendszer felkéri, hogy válassza ki az ssh kulcs tárolási helyét. Bármely tetszőleges helyen vagy az alapértelmezett helyen tárolhatja.

4. A jelszóhoz beírhat bármit, amit választott, vagy üresen hagyhatja az Enter megnyomásával.

5. Ezután az alábbi paranccsal másolja a nyilvános kulcsot a célkiszolgálóra. Ezzel akár jelszó nélkül is bejelentkezhetünk a célrendszerbe ssh használatával.

ssh-copy-id @

Megjegyzés: a jelszó nélküli bejelentkezési mód csak azon felhasználó számára működik, akinek az ssh-kulcsot létrehozta.

6. Miután létrehozta és eltárolta az ssh kulcsot a távoli kiszolgálón, használja ezt az scp parancs szintaxisát két Linuxot futtató távoli rendszer közötti fájlok cseréjéhez:

scp @:<átviteli_fájl_útvonala> @:

Tegyük fel, hogy egy test.txt nevű fájlt kell átvinnie egy távoli gazdagépről egy másik távoli vevőre, használja a következő parancsot:

scp [email protected]:/home/test1/test.txt [email protected]:/home/remote2/Documents/test1.txt

Ebben a példában:

  • remote1 a felhasználó neve a távoli küldő gazdagépen
  • A 10.10.11.113 a távoli küldő gazdagép IP-címe
  • A /home/test1/teszt.txt a küldendő fájl elérési útja
  • remote2 a felhasználó neve a távoli vevőcélban
  • A 10.11.27.111 a távoli vevő cél IP-címe
  • A /home/remote2/Documents/test1.txt a fogadandó fájl neve és elérési útja.
  Hogyan lehet olvasni a Wikipédiát a Linux asztalról

Több fájl átvitele az scp paranccsal

Több fájl egyenkénti átvitele mindenki számára fárasztó feladat lehet. Ehelyett az alábbi szintaxist használhatja a fájlok cseréjéhez az scp paranccsal Linuxon:

scp @:

Például – Tegyük fel, hogy négy fájlt, köztük a test1.txt-t, a test2.py-t, a test3.sh-t és a test4.c-t kell elküldenie egy távoli vevőre, használhatja az alábbi parancsot:

scp -P 22 test1.txt test2.py test3.sh test4.c [email protected]:/home/remote_1/Dokumentumok

Nézzük meg, hogyan működik a példában szereplő parancs, és mit csinál:

  • A -p 2222 a 22-es porton keresztül történő csatlakozás megadására szolgál
  • test1.txt test2.py test3.sh test4.c az átvinni kívánt fájlok neve
  • remote_1 a fogadó rendszer felhasználóneve
  • A 10.10.11.113 a vevő IP-címe
  • A /home/távoli_1/Dokumentumok a fogadott fájl tárolási útvonalára utal.

Akár helyettesítő karakterekkel is küldhet több fájlt azonos kiterjesztéssel, az alábbiak szerint:

scp . @:<útvonal az üzlethez_távoli_célhelyen>

Ha például az összes .py fájlt el kell küldenie egy távoli kiszolgálóra, használja az alábbi scp parancsot a Linux terminálban:

scp *.py [email protected]:/home/remote_1/

Itt,

  • A *.py az összes python fájlt jelöli
  • remote1 a vevő felhasználóneve
  • A 10.10.11.113 a vevő IP-címe
  • A /home/remote_1/ a fogadott fájl tárolási helye

Gyakran Ismételt Kérdések

Biztonságos az SCP fájlátvitel?

A Secure Copy Protocol vagy scp egy SSH technológián alapuló protokoll, amely titkosítást és hitelesítést használ a két gazdagép közötti fájlok cseréjéhez. Ez biztosítja a teljes adatbiztonságot és integritást a két gazdagép között.

Az SCP biztonságosabb, mint az SFTP?

Mind az SCP, mind az SFTP protokollok egyenrangúak a biztonság szempontjából. Az scp használatának fő előnye az SFTP-vel szemben a gyors átviteli sebesség, amely különösen hasznos a nagy késleltetésű hálózatokban.

Fájlok biztonságos átvitele az scp paranccsal Linux alatt

Egy bizonyos időpontban minden felhasználónak ki kell cserélnie néhány fájlt a hálózaton keresztül. Az scp parancs megkönnyíti a fájlok biztonságos és hatékony átvitelét még nagy késleltetésű hálózaton is. Bizonyára hasznos lehet a különféle scp opciók és szintaxis ismerete is. Útmutatóinkat is elolvashatja arról, hogyan nevezhet át fájlokat Linuxban, és hogyan törölhet fájlokat Linuxban, hogy tovább fejleszthesse fájlkezelési készségeit az operációs rendszeren. Reméljük, hogy ez a cikk segített megtanulni, hogyan használhatja az scp parancsot fájlok átvitelére Linux rendszerű számítógépeken. Ha bármilyen problémába ütközik a parancs használata során, tudassa velünk a megjegyzések részben.