10 SCP-komentoa tiedostojen/kansioiden siirtämiseen Linuxissa


Linux-järjestelmänvalvojan tulisi tuntea CLI-ympäristö. Koska Linux-palvelimien GUI-tila ei ole yleinen asennettava. SSH voi olla suosituin protokolla, jonka avulla Linux-järjestelmänvalvoja voi hallita palvelimia etäyhteyden kautta turvallisella tavalla. Sisäänrakennettu SSH-komennolla on SCP-komento. SCP: tä käytetään tiedostojen kopioimiseen palvelimien välillä turvallisella tavalla.

Alla oleva komento lukee nimellä "kopioi lähteen_tiedoston_nimi" kohteeseen "kohde_kansio" osoitteessa "kohde_host" käyttäen "käyttäjätunnustiliä".

scp source_file_name [email _host:destination_folder

SCP-komennossa on paljon parametreja, joita voit käyttää. Tässä ovat parametrit, joista voi olla hyötyä päivittäisessä käytössä.

Anna SCP-prosessin yksityiskohtaiset tiedot parametrilla -v

SCP-peruskomento ilman parametria kopioi tiedostot taustalla. Käyttäjä ei näe mitään, ellei prosessi ole tehty tai virheilmoitus tulee näkyviin. Voit tulostaa virheenkorjaustiedot näytölle parametrilla “-v”. Se voi auttaa sinua selvittämään yhteys-, todennus- ja määritysongelmia.

[email  ~/Documents $ scp -v Label.pdf [email :.
Executing: program /usr/bin/ssh host 202.x.x.x, user mrarianto, command scp -v -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: 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: password
[email 's password:
debug1: Authentication succeeded (password).
Authenticated to 202.x.x.x ([202.x.x.x]:22).
Sending file modes: C0770 3760348 Label.pdf
Sink: C0770 3760348 Label.pdf
Label.pdf 100% 3672KB 136.0KB/s 00:27
Transferred: sent 3766304, received 3000 bytes, in 65.2 seconds
Bytes per second: sent 57766.4, received 46.0
debug1: Exit status 0

Anna alkuperäisten tiedostojen muokkausajat, käyttöajat ja tilat

Parametri “-p” auttaa sinua tässä. Arvioitu aika ja yhteysnopeus ilmestyvät näyttöön.

[email  ~/Documents $ scp -p Label.pdf [email :.
[email 's password:
Label.pdf 100% 3672KB 126.6KB/s 00:29

Tee tiedostojen siirrosta nopeampi -C-parametrilla

Yksi parametreista, jotka nopeuttavat tiedostonsiirtoa, on “-C” -parametri. Parametri “-C” pakkaa tiedostosi tien päällä. Ainutlaatuinen asia on, että pakkaus tapahtuu vain verkossa. Kun tiedosto saapuu kohdepalvelimeen, se palaa alkuperäiseen kokoonsa ennen pakkaamista.

Katso nämä komennot. Se käyttää yhtä 93 Mt: n tiedostoa.

[email  ~/Documents $ scp -pv messages.log [email :.
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

Tiedoston kopioiminen ilman parametria “-C” tuottaa 1661,3 sekuntia. Yo voi verrata tulosta komentoon, jonka alapuolella käyttämällä parametria “-C”.

[email  ~/Documents $ scp -Cpv messages.log [email :.
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

Kuten näette, kun käytät pakkausta, siirtoprosessi suoritetaan 162,5 sekunnissa. Se on 10 kertaa nopeampi kuin "-C" -parametrin käyttämättä jättäminen. Jos kopioit paljon tiedostoja verkon yli, “-C” -parametri auttaisi sinua vähentämään tarvitsemasi kokonaisajan.

Asia, jonka meidän pitäisi huomata, että pakkausmenetelmä ei toimi missään tiedostossa. Kun lähdetiedosto on jo pakattu, et löydä mitään parannusta siellä. -C-parametri ei vaikuta tiedostoihin, kuten .zip, .rar, kuvat ja .iso.

Valitse toinen salaus tiedostojen salaamiseksi

Oletusarvoisesti SCP käyttää tiedostojen salaamiseen “AES-128”. Jos haluat vaihtaa toiseen salaukseen sen salaamiseksi, voit käyttää parametria “-c”. Katsokaa tätä komentoa.

[email  ~/Documents $ scp -c 3des Label.pdf [email :.

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

Komennon yläpuolella käske SCP: tä käyttämään 3des-algoritmia tiedoston salaamiseen. Ole varovainen, että tämä parametri, jossa käytetään merkintää ”-c” eikä “-C”.

Kaistanleveyden käytön rajoittaminen

Toinen hyödyllinen parametri on “-l” -parametri. Parametri “-l” rajoittaa käytettävää kaistanleveyttä. On hyödyllistä, jos kopioit automaattisen komentosarjan paljon tiedostoja, mutta et halua, että SCP-prosessi tyhjentää kaistanleveyden.

[email  ~/Documents $ scp -l 400 Label.pdf [email :.

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

400-arvo “-l” -parametrin takana tarkoittaa, että rajoitamme kaistanleveyttä SCP-prosessille vain 50 kt/s. Yksi asia on muistaa, että kaistanleveys määritetään kilobittiä/s (kbps). Se tarkoittaa, että 8 bittiä on yhtä suuri kuin 1 tavu.

Vaikka SCP laskee kilotavua/s (KB/s). Joten jos haluat rajoittaa kaistanleveyttä SCP: lle enintään 50 kt/s, sinun on asetettava se arvoon 50 x 8 = 400.

Määritä tietty portti käytettäväksi SCP: n kanssa

Yleensä SCP käyttää porttia 22 oletusporttina. Mutta turvallisuussyistä voit vaihtaa portin toiseen porttiin. Käytämme esimerkiksi porttia 2249. Sitten komennon tulisi olla tällainen.

[email  ~/Documents $ scp -P 2249 Label.pdf [email :.

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

Varmista, että siinä käytetään isoa kirjainta "P" eikä "p", koska kirjainta "p" käytetään jo säilytettyihin aikoihin ja tiloihin.

Kopioi tiedostot hakemistoon rekursiivisesti

Joskus meidän on kopioitava hakemisto ja kaikki sen sisällä olevat tiedostot/hakemistot. On parempi, jos voimme tehdä sen yhdellä komennolla. SCP tukee tätä skenaariota parametrilla “-r”.

[email  ~/Documents $ 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

Kun kopiointi on valmis, löydät kohdepalvelimelta hakemiston nimeltä "asiakirjat" ja kaikki tiedostot. Kansio "dokumentit" luodaan automaattisesti.

Poista edistymismittari ja varoitus/diagnostiikkaviesti käytöstä

Jos et halua nähdä edistymismittaria ja varoitus-/diagnostiikkaviestejä SCP: ltä, voit poistaa sen käytöstä parametrilla “-q”. Tässä esimerkki.

[email  ~/Documents $ scp -q Label.pdf [email :.

[email 's password:
[email  ~/Documents $

Kuten näette, salasanan kirjoittamisen jälkeen ei ole mitään tietoja SCP-prosessista. Kun prosessi on valmis, näet kehotteen uudelleen.

Kopioi tiedostot käyttämällä SCP: tä välityspalvelimen kautta

Välityspalvelinta käytetään yleensä toimistoympäristössä. SCP: tä ei ole määritetty välityspalvelimeksi. Kun ympäristösi käyttää välityspalvelinta, sinun on "kerrottava" SCP: lle kommunikoida välityspalvelimen kanssa.

Tässä on skenaario. Välityspalvelimen osoite on 10.0.96.6 ja välityspalvelimen portti on 8080. Välityspalvelin toteutti myös käyttäjän todennuksen. Ensin on luotava ~/.ssh/config-tiedosto. Toiseksi laitat tämän komennon sen sisälle.

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

Sitten sinun on luotava tiedosto "~/.ssh/proxyauth", joka sisältää.

myusername:mypassword

Sen jälkeen voit tehdä SCP: n läpinäkyvästi tavalliseen tapaan.

Huomaa, että korkkiruuvia ei ehkä ole vielä asennettu järjestelmääsi. Minun on asennettava se ensin Linux Mint -sovelluksellani tavallisella Linux Mint -asennusmenetelmällä.

$ apt-get install corkscrew

Muissa yum-pohjaisissa järjestelmissä käyttäjät voivat asentaa korkkiruuvin seuraavan yum-komennon avulla.

# yum install corkscrew

Toinen asia, että koska ”~/.ssh/proxyauth” -tiedosto sisältää käyttäjänimesi ja salasanasi selkeässä muodossa, varmista, että vain sinä voit käyttää tiedostoa.

Valitse toinen ssh_config-tiedosto

Mobiilikäyttäjille, jotka vaihtavat usein yrityksen verkon ja julkisen verkon välillä, on kärsittävä aina muuttaa asetuksia SCP: ssä. On parempi, jos voimme laittaa toisen ssh_config-tiedoston vastaamaan tarpeitamme.

Välityspalvelinta käytetään yrityksen verkossa, mutta ei julkisessa verkossa, ja vaihdat säännöllisesti verkkoa.

[email  ~/Documents $ scp -F /home/pungki/proxy_ssh_config Label.pdf

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

Oletuksena "ssh_config"-tiedosto käyttäjää kohden sijoitetaan tiedostoon "~/.ssh/config". Tietyn ”ssh_config” -tiedoston luominen välityspalvelimen kanssa on helpompaa vaihtaa verkkojen välillä.

Kun olet yrityksen verkossa, voit käyttää parametria “-F”. Kun olet julkisessa verkossa, voit ohittaa “-F” -parametrin.

Siinä kaikki SCP: stä. Näet SCP: n man-sivut tarkemmin. Voit vapaasti jättää kommentteja ja ehdotuksia.