- scp parancs – Biztonságos másolás
- Hogyan kell telepíteni az scp-t
- A scp használata – alapvető szintaxis
- scp parancs példák
- 1. Verbózus kimenet
- 2. Több fájl átvitele
- 3. Több fájl átvitele. Teljes könyvtár másolása (rekurzívan)
- 4. Fájlok másolása 2 távoli állomáson keresztül
- 5. Fájlok másolása 2 távoli állomáson keresztül
- 6. Korlátozza a sávszélesség használatát
- 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
- 8. A fájl attribútumainak megőrzése
- 9. Csendes üzemmód
- 10. Identitásfájl megadása
- 11. Másik ssh_config fájl használata
- 12. Más titkosítást használjon
- Összefoglaló
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.
Vélemény, hozzászólás?