scp parancs – Biztonságos másolás

A scp (Secure Copy) egy parancssori eszköz fájlok másolására vagy átvitelére hosztok között. Ugyanolyan biztonsági mechanizmust használ, mint az ssh program.

Tény, hogy egy ssh kapcsolatot használ a háttérben a fájlátvitelhez. scp egyaránt utal a “protokollra”, amely meghatározza, hogyan kell a biztonságos másolásnak működnie, és a “programra” (parancsra), amely az OpenSSH eszközcsomag részeként van telepítve.

Ezzel a gyors bemutatóval néhány példán keresztül megnézzük az scp parancsot, és azt, hogyan lehet vele biztonságosan fájlokat továbbítani.

Hogyan kell telepíteni az scp-t

Az scp általában alapértelmezetten telepítve van a legtöbb linux disztróban az openssh csomagok részeként. Az ubuntu/debian rendszereken például az openssh-client csomag biztosítja az scp programot.

$ dpkg -L openssh-client | grep scp/usr/bin/scp/usr/share/man/man1/scp.1.gz

Az OpenSSH csomag biztosítja az ssh, scp, sftp programokat sok más eszközzel együtt. Tehát itt semmi pluszt nem kell tennünk, csak használni és megtanulni a programot.

A scp használata – alapvető szintaxis

Az scp alapvető szintaxisát nagyon egyszerű megjegyezni. Így néz ki

$ scp source_file_path destination_file_path

Az állomány elérési útvonalának a hosttól függően tartalmaznia kell a teljes host címet, a port számát, a felhasználónevet és a jelszót a könyvtár elérési útvonalával együtt.

Ha tehát fájlt “küldünk” a helyi gépről egy távoli gépre (feltöltés), akkor a szintaxis így néz ki

$ scp ~/my_local_file.txt _host.com:/some/remote/directory

Ha fájlt másolunk a távoli gépről a helyi gépről (letöltés), akkor a szintaxis pont fordítva néz ki

$ scp _host.com:/some/remote/directory ~/my_local_file.txt# just download the file$ scp :/some/path/file.txt .

Ez nagyjából az scp használatáról szól a szokásos feladatokhoz. Ezen kívül van még néhány extra opció és funkció, amit az scp támogat. Lássunk egy gyors áttekintést ezekről.

És igen, alapértelmezés szerint az scp mindig felülírja a célállomáson lévő fájlokat. Ha ezt el akarod kerülni, használd az rsync nevű erősebb eszközt.

scp parancs példák

1. Verbózus kimenet

A verbózus kimenettel az scp program sok információt adna ki arról, hogy mit csinál a háttérben. Ez gyakran hasznos, ha a program nem sikerül vagy nem tudja befejezni a kérést. A verbose kimenet ilyenkor pontosan jelezné azt a pontot, ahol a program problémába ütközött.

$ scp -v ~/test.txt :/root/help2356.txtExecuting: program /usr/bin/ssh host 192.168.1.3, user root, command scp -v -t /root/help2356.txtOpenSSH_6.2p2 Ubuntu-6ubuntu0.1, OpenSSL 1.0.1e 11 Feb 2013debug1: Reading configuration data /home/enlightened/.ssh/configdebug1: Reading configuration data /etc/ssh/ssh_configdebug1: /etc/ssh/ssh_config line 19: Applying options for *debug1: Connecting to 192.168.1.3 port 22.debug1: Connection established...... OUTPUT TRUNCATED

A kimenet nagy lenne, és részletes információkat tartalmazna arról, hogyan jön létre a kapcsolat, milyen konfigurációs és azonosító fájlokat használ, és így tovább.

2. Több fájl átvitele

Több fájlt lehet megadni szóközzel elválasztva, így

$ scp foo.txt bar.txt :/path/directory/

Másoljon több fájlt a távoli állomásról az aktuális helyi könyvtárba

$ scp :/path/directory/\{foo.txt,bar.txt\} .$ scp :~/\{abc.log,cde.txt\} .

3. Több fájl átvitele. Teljes könyvtár másolása (rekurzívan)

Egy teljes könyvtár másolásához az egyik állomásról a másikra használja az r kapcsolót, és adja meg a könyvtárat

$ scp -v -r ~/Downloads :/root/Downloads

4. Fájlok másolása 2 távoli állomáson keresztül

A scp képes fájlokat másolni 1 távoli állomásról egy másik távoli állomásra is.

$ scp :/some/remote/dir/foobar.txt :/some/remote/dir/

5. Fájlok másolása 2 távoli állomáson keresztül

. Az átvitel felgyorsítása tömörítéssel

Egy szuper klassz lehetőség az átvitel felgyorsítására, hogy időt és sávszélességet takarítson meg. Mindössze annyit kell tennie, hogy a C opcióval engedélyezi a tömörítést. A fájlok menet közben tömörülnek, a célállomáson pedig kicsomagolódnak.

$ scp -vrC ~/Downloads :/root/Downloads

A fenti példában a teljes könyvtárat tömörítés engedélyezésével mozgattuk át. A sebességnövekedés attól függ, hogy a fájlokat mennyire lehet tömöríteni.

6. Korlátozza a sávszélesség használatát

Ha nem szeretné, hogy az scp a teljes rendelkezésre álló sávszélességet igénybe vegye, akkor az l opcióval korlátozza a maximális sebességet Kbit/s-ban.

$ scp -vrC -l 400 ~/Downloads :/root/Downloads

7. Korlátozza a sávszélesség használatát

$ scp -vrC -l 400 ~/Downloads :/root/Downloads

. Csatlakozás más portszámhoz a távoli állomáson

Ha a távoli kiszolgáló ssh démonja más porton fut (alapértelmezett a 22-es), akkor a ‘-P’ opcióval meg kell mondania az scp-nek, hogy azt a bizonyos portszámot használja.

$ scp -vC -P 2200 ~/test.txt :/some/path/test.txt

8. A fájl attribútumainak megőrzése

A ‘-p’ opció (kisbetűs), megőrzi az eredeti fájl módosítási idejét, hozzáférési idejét és módját.

$ scp -C -p ~/test.txt :/some/path/test.txt

9. Csendes üzemmód

A csendes üzemmódban (‘-q’ opció ) az scp kimenet elnyomásra kerül, és letiltja a haladásmérőt, valamint a figyelmeztető és diagnosztikai üzeneteket.

$ scp -vCq ~/test.txt :/some/path/test.txt

10. Identitásfájl megadása

Kulcsalapú (jelszó nélküli) hitelesítés használata esetén meg kell adnia a titkos kulcsot tartalmazó identitásfájlt. Ez az opció közvetlenül az ssh parancsnak adható át, és ugyanúgy működik.

$ scp -vCq -i private_key.pem ~/test.txt :/some/path/test.txt

11. Másik ssh_config fájl használata

A ‘-F’ kapcsolóval egy másik ssh_config fájlt adhat meg.

$ scp -vC -F /home/user/my_ssh_config ~/test.txt :/some/path/test.txt

12. Más titkosítást használjon

A scp alapértelmezés szerint az AES titkosítást/titkosítást használja. Néha előfordulhat, hogy más titkosítást szeretne használni. Egy másik titkosítás használata felgyorsíthatja az átviteli folyamatot. Például a blowfish és az arcfour közismerten gyorsabb, mint az AES (de kevésbé biztonságos).

$ scp -c blowfish -C ~/local_file.txt :/remote/path/file.txt

A fenti példában a blowfish titkosítást használjuk tömörítéssel együtt. Ez a rendelkezésre álló sávszélességtől függően jelentős sebességnövekedést eredményezhet.

Összefoglaló

Bár az scp nagyon hatékony a fájlok biztonságos átvitelében, hiányoznak belőle a fájlszinkronizáló eszköz szükséges funkciói. Mindössze annyit tud, hogy az összes említett fájlt átmásolja beilleszti egyik helyről a másikra.

Egy erősebb eszköz az Rsync, amely nemcsak az scp összes funkciójával rendelkezik, hanem több funkcióval is kiegészíti a fájlok intelligens szinkronizálását 2 hoszton keresztül. Például csak a módosított fájlokat tudja ellenőrizni és feltölteni, a meglévő fájlokat figyelmen kívül hagyni és így tovább.