Weboldal keresés

SCP Linux Command – Fájlok biztonságos átvitele Linux alatt


A Linux rendszergazdáknak ismerniük kell a parancssori környezetet. Mivel a GUI (Grafikus felhasználói felület) mód telepítése a Linux-kiszolgálókon nem gyakori.

Az SSH lehet a legnépszerűbb protokoll, amely lehetővé teszi a Linux rendszergazdák számára a szerverek távoli biztonságos kezelését. Az SSH paranccsal beépített SCP parancs, amely a fájl(ok) szerverek közötti biztonságos másolására szolgál.

Az SCP parancs alapvető szintaxisa

Az alábbi parancs a „forrásfájl_neve” másolásaként jelenik meg a „cél_mappa” mappába a „destination_host” helyen a „felhasználónév” használatával. ” fiókot.

scp source_file_name username@destination_host:destination_folder

Az SCP parancsban számos használható paraméter található. Itt vannak a napi használat során használható paraméterek.

Fájlok biztonságos átvitele Linux alatt

Az alapvető SCP parancs paraméterek nélkül átmásolja a fájlokat a háttérben. A felhasználók semmit sem fognak látni, hacsak nem fejeződik be a folyamat, vagy nem jelenik meg hiba.

A „-v” paraméterrel hibakeresési információkat nyomtathat a képernyőre. Segíthet a kapcsolati, hitelesítési és konfigurációs problémák hibakeresésében.

Fájl másolása a helyi gazdagépről a távoli kiszolgálóra

A következő parancs egy „scp-cheatsheet.pdf” fájlt másol egy helyiről egy távoli Linux rendszerre a /home/tecmint könyvtárba.

scp -v scp-cheatsheet.pdf [email :/home/tecmint/.

Mintakimenet:

Executing: program /usr/bin/ssh host 192.168.0.183, user tecmint, command scp -v -t /home/tecmint/.
OpenSSH_8.2p1 Ubuntu-4ubuntu0.5, OpenSSL 1.1.1f  31 Mar 2020
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: include /etc/ssh/ssh_config.d/*.conf matched no files
debug1: /etc/ssh/ssh_config line 21: Applying options for *
debug1: Connecting to 192.168.0.183 [192.168.0.183] port 22.
debug1: Connection established.
debug1: identity file /home/tecmint/.ssh/id_rsa type -1
debug1: identity file /home/tecmint/.ssh/id_rsa-cert type -1
debug1: identity file /home/tecmint/.ssh/id_dsa type -1
debug1: identity file /home/tecmint/.ssh/id_dsa-cert type -1
debug1: identity file /home/tecmint/.ssh/id_ecdsa type -1
debug1: identity file /home/tecmint/.ssh/id_ecdsa-cert type -1
debug1: identity file /home/tecmint/.ssh/id_ecdsa_sk type -1
debug1: identity file /home/tecmint/.ssh/id_ecdsa_sk-cert type -1
debug1: identity file /home/tecmint/.ssh/id_ed25519 type -1
debug1: identity file /home/tecmint/.ssh/id_ed25519-cert type -1
debug1: identity file /home/tecmint/.ssh/id_ed25519_sk type -1
debug1: identity file /home/tecmint/.ssh/id_ed25519_sk-cert type -1
debug1: identity file /home/tecmint/.ssh/id_xmss type -1
...

Fájl másolása a távoli gazdagépről a helyi gazdagépre

A következő parancs egy „ssh-cheatsheet.pdf” fájlt másol egy távoli gazdagépről egy helyi rendszerre a /home/tecmint könyvtárba.

scp -v [email :/home/ravi/ssh-cheatsheet.pdf /home/tecmint/.

Mintakimenet:

Executing: program /usr/bin/ssh host 192.168.0.183, user tecmint, command scp -v -f /home/ravi/ssh-cheatsheet.pdf
OpenSSH_8.2p1 Ubuntu-4ubuntu0.5, OpenSSL 1.1.1f  31 Mar 2020
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: include /etc/ssh/ssh_config.d/*.conf matched no files
debug1: /etc/ssh/ssh_config line 21: Applying options for *
debug1: Connecting to 192.168.0.183 [192.168.0.183] port 22.
debug1: Connection established.
debug1: identity file /home/tecmint/.ssh/id_rsa type -1
debug1: identity file /home/tecmint/.ssh/id_rsa-cert type -1
debug1: identity file /home/tecmint/.ssh/id_dsa type -1
debug1: identity file /home/tecmint/.ssh/id_dsa-cert type -1
debug1: identity file /home/tecmint/.ssh/id_ecdsa type -1
debug1: identity file /home/tecmint/.ssh/id_ecdsa-cert type -1
debug1: identity file /home/tecmint/.ssh/id_ecdsa_sk type -1
debug1: identity file /home/tecmint/.ssh/id_ecdsa_sk-cert type -1
debug1: identity file /home/tecmint/.ssh/id_ed25519 type -1
debug1: identity file /home/tecmint/.ssh/id_ed25519-cert type -1
debug1: identity file /home/tecmint/.ssh/id_ed25519_sk type -1
...

Fájl másolása a távoli gépről egy másik gazdagépre

A következő parancs egy „ssh-cheatsheet.pdf” fájlt másol egy távoli gazdagépről egy másik távoli gazdagéprendszerre a /home/tecmint könyvtárba.

scp -v [email :/home/ravi/ssh-cheatsheet.pdf [email :/home/anusha/.

Fájlok másolása az eredeti létrehozás dátumával és időpontjával

A „-p” paraméter megőrzi a fájlok eredeti módosítási és hozzáférési idejét, miközben a fájlok másolása közben megjelenik a képernyőn a becsült idő és a kapcsolat sebessége.

scp -p scp-cheatsheet.pdf [email :/home/tecmint/.

Mintakimenet:

[email 's password: 
scp-cheatsheet.pdf                                                                                                                                                                 100%  531   721.4KB/s   00:00    

Scp tömörítés fájlok másolása közben

Az egyik paraméter, amely gyorsabbá teheti a fájlátvitelt, a „-C” paraméter, amely a fájlok menet közben történő tömörítésére szolgál. Az egyedülálló, hogy a tömörítés csak a hálózatban történik. Amikor a fájl megérkezik a célkiszolgálóra, visszaáll az eredeti méretre, mint a tömörítés előtt.

Vessen egy pillantást ezekre a parancsokra. Egyetlen 93 Mb fájlt használ.

scp -pv messages.log [email :.

Mintakimenet:

Executing: program /usr/bin/ssh host 202.x.x.x, user mrarianto, command scp -v -p -t.
OpenSSH_6.0p1 Debian-3, OpenSSL 1.0.1c 10 May 2012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 202.x.x.x [202.x.x.x] port 22.
debug1: Connection established.
debug1: identity file /home/pungki/.ssh/id_rsa type -1
debug1: Found key in /home/pungki/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: Trying private key: /home/pungki/.ssh/id_rsa
debug1: Next authentication method: password
[email 's password:
debug1: Authentication succeeded (password).
Authenticated to 202.x.x.x ([202.x.x.x]:22).
debug1: Sending command: scp -v -p -t.
File mtime 1323853868 atime 1380425711
Sending file timestamps: T1323853868 0 1380425711 0
messages.log 100% 93MB 58.6KB/s 27:05
Transferred: sent 97614832, received 25976 bytes, in 1661.3 seconds
Bytes per second: sent 58758.4, received 15.6
debug1: Exit status 0

A „-C” paraméter nélküli fájlok másolása 1661,3 másodpercet eredményez. Az eredményt összehasonlíthatja az alábbi paranccsal a “-C” paraméter használatával.

scp -Cpv messages.log [email :.

Mintakimenet:

Executing: program /usr/bin/ssh host 202.x.x.x, user mrarianto, command scp -v -p -t.
OpenSSH_6.0p1 Debian-3, OpenSSL 1.0.1c 10 May 2012
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: /etc/ssh/ssh_config line 19: Applying options for *
debug1: Connecting to 202.x.x.x [202.x.x.x] port 22.
debug1: Connection established.
debug1: identity file /home/pungki/.ssh/id_rsa type -1
debug1: Host '202.x.x.x' is known and matches the RSA host key.
debug1: Found key in /home/pungki/.ssh/known_hosts:1
debug1: ssh_rsa_verify: signature correct
debug1: Next authentication method: publickey
debug1: Trying private key: /home/pungki/.ssh/id_rsa
debug1: Next authentication method: password
[email 's password:
debug1: Enabling compression at level 6.
debug1: Authentication succeeded (password).
Authenticated to 202.x.x.x ([202.x.x.x]:22).
debug1: channel 0: new [client-session]
debug1: Sending command: scp -v -p -t .
File mtime 1323853868 atime 1380428748
Sending file timestamps: T1323853868 0 1380428748 0
Sink: T1323853868 0 1380428748 0
Sending file modes: C0600 97517300 messages.log
messages.log 100% 93MB 602.7KB/s 02:38
Transferred: sent 8905840, received 15768 bytes, in 162.5 seconds
Bytes per second: sent 54813.9, received 97.0
debug1: Exit status 0
debug1: compress outgoing: raw data 97571111, compressed 8806191, factor 0.09
debug1: compress incoming: raw data 7885, compressed 3821, factor 0.48

Amint láthatja, tömörítés használatakor az átviteli folyamat 162,5 másodperc alatt megtörténik. 10-szer gyorsabb, mintha nem használnánk a „-C” paramétert. Ha sok fájlt másol át a hálózaton, a „-C” paraméter segít csökkenteni a szükséges teljes időt.

Amit észre kell vennünk, hogy a tömörítési módszer egyetlen fájlon sem fog működni. Ha a forrásfájl már tömörítve van, akkor ott nem fog semmilyen javulást találni. Az olyan fájlokat, mint a .zip, .rar, pictures és .iso nem érinti a „ -C” paramétert.

Módosítsa az SCP-rejtjelet a fájlok titkosítására

Alapértelmezés szerint az SCP az „AES-128” kódot használja a fájlok titkosításához. Ha másik titkosításra szeretne váltani a titkosításhoz, használja a „-c” paramétert.

Vessen egy pillantást erre a parancsra.

scp -c 3des Label.pdf [email :.

[email 's password:
Label.pdf 100% 3672KB 282.5KB/s 00:13

A fenti parancs arra utasítja az SCP-t, hogy a 3des algoritmust használja a fájl titkosításához. Ügyeljen arra, hogy ez a paraméter a „-c” karakterláncot használja, ne a „-C”-t.

A sávszélesség-használat korlátozása az SCP paranccsal

Egy másik hasznos paraméter a „-l” paraméter. A „-l” paraméter korlátozza a használható sávszélességet. Hasznos lesz, ha egy automatizálási parancsfájlt készít sok fájl másolásához, de nem szeretné, hogy az SCP folyamat lemerítse a sávszélességet.

scp -l 400 Label.pdf [email :.

[email 's password:
Label.pdf 100% 3672KB 50.3KB/s 01:13

A 400 érték a „-l” paraméter mögött azt jelenti, hogy az SCP folyamat sávszélességét csak 50 KB/-ra korlátozzuk. mpre.

Ne feledje, hogy a sávszélesség kilobitben/másodpercben (kbps) van megadva. Ez azt jelenti, hogy a 8 bit egyenlő 1 bájttal.

Míg az SCP kilobyte/sec-ben (KB/s) számít. Tehát ha a sávszélességet 50 KB/s maximum SCP-re szeretné korlátozni, akkor 50-re kell állítania. x 8=400.

SCP más porttal

Általában az SCP a 22-es portot használja alapértelmezett portként, de biztonsági okokból megváltoztathatja a portot egy másik portra. Például a 2249-es portot használjuk.

Akkor a parancsnak ilyennek kell lennie.

scp -P 2249 Label.pdf [email :.

[email 's password:
Label.pdf 100% 3672KB 262.3KB/s 00:14

Győződjön meg arról, hogy nagy „P” betűt használ, nem „p”, mivel a „p” már használatos a megőrzött idők és módok esetén.

SCP – Fájlok és könyvtárak rekurzív másolása

Néha át kell másolnunk a könyvtárat és a benne lévő összes fájlt/könyvtárat. Jobb lesz, ha ezt egyetlen paranccsal megtehetjük a „-r” paraméterrel, amely rekurzívan másolja a teljes könyvtárat.

scp -r documents [email :.

[email 's password:
Label.pdf 100% 3672KB 282.5KB/s 00:13
scp.txt 100% 10KB 9.8KB/s 00:00

Amikor a másolási folyamat befejeződött, a célszerveren talál egy „dokumentumok” nevű könyvtárat az összes fájllal. A „dokumentumok” mappa automatikusan létrejön.

SCP – folyamatban lévő üzenetek letiltása

Ha úgy dönt, hogy nem látja a folyamatmérőt és az SCP figyelmeztető/diagnosztikai üzeneteit, letilthatja a „-q” paraméterrel. Íme egy példa.

scp -q Label.pdf [email :.

[email 's password:
pungki@mint ~/Documents $

Mint látható, a jelszó megadása után nincs információ az SCP folyamatról. A folyamat befejezése után ismét megjelenik egy felszólítás.

SCP – Fájlok másolása proxy használatával

A proxyszervert általában irodai környezetben használják. Natív módon az SCP nem konfigurált proxy. Ha a környezete proxyt használ, akkor „meg kell mondania ” az SCP-t, hogy kommunikáljon a proxyval.

Íme a forgatókönyv. A proxy címe 10.0.96.6, a proxy portja pedig 8080. A proxy felhasználói hitelesítést is megvalósított. Először létre kell hoznia a „~/.ssh/config” fájlt. Másodszor, ezt a parancsot bele kell helyezni.

ProxyCommand /usr/bin/corkscrew 10.0.96.6 8080 %h %p ~/.ssh/proxyauth

Ezután létre kell hoznia a „~/.ssh/proxyauth” fájlt, amely tartalmazza.

myusername:mypassword

Utána a szokásos módon transzparens módon lehet SCP-t csinálni.

Kérjük, vegye figyelembe, hogy a dugóhúzó lehet, hogy még nincs telepítve a rendszerére. A Linux Mintemen először telepítenem kell, a szokásos Linux Mint telepítési eljárással.

apt-get install corkscrew

Más yum-alapú rendszerek esetén a felhasználók a következő yum paranccsal telepíthetik a dugóhúzót.

yum install corkscrew

A másik dolog az, hogy mivel a „~/.ssh/proxyauth” fájl tartalmazza az Ön „felhasználónevét” és „jelszavát” egyértelmű szöveges formátumban. , győződjön meg arról, hogy a fájlhoz csak Ön férhet hozzá.

Válasszon egy másik ssh_config fájlt

Azok a mobilfelhasználók, akik gyakran váltanak a vállalati hálózatok és a nyilvános hálózatok között, szenvedni fognak az SCP beállításaitól. Jobb, ha egy másik ssh_config fájlt helyezhetünk el az igényeinknek megfelelően.

A proxyt a vállalati hálózatban használják, de a nyilvános hálózatban nem, és Ön rendszeresen vált hálózatot.

scp -F /home/pungki/proxy_ssh_config Label.pdf

[email :.
[email 's password:
Label.pdf 100% 3672KB 282.5KB/s 00:13

Alapértelmezés szerint a felhasználónkénti „ssh_config” fájl a „~/.ssh/config” mappába kerül. Egy adott „ssh_config” fájl proxykompatibilis létrehozása megkönnyíti a hálózatok közötti váltást.

Ha a vállalati hálózaton tartózkodik, használhatja a „-F” paramétert. Ha nyilvános hálózaton van, kihagyhatja a „-F” paramétert.

Ennyi az SCPről. További részletekért tekintse meg az SCP man oldalait. Nyugodtan hagyjon megjegyzéseket és javaslatokat.