12 scp command examples securely transfer files linux
Aquest tutorial explica el protocol de còpia segura o l'ordre SCP que s'utilitza per copiar de manera segura els fitxers a Linux i Unix amb sintaxi i exemples:
En aquest article, parlarem de l’ordre SCP (protocol de còpia segura) que s’utilitza per a la transferència de fitxers. Veurem què és i com funciona amb l’ajut d’alguns exemples. Per tant, provem primer d’entendre què és l’ordre SCP.
Què aprendreu:
Què és l'ordre SCP?
SCP (Secure Copy Protocol) és un protocol de xarxa que s’utilitza per transferir de manera segura els fitxers entre hosts d’una xarxa d’ordinadors. Utilitzant aquesta utilitat de línia d’ordres en sistemes Linux i Unix, podeu fer transferències de fitxers d’un host local a un host remot, o d’un host remot a un sistema local, o entre dos hosts remots.
(imatge font )
SCP garanteix l’autenticitat, xifratge i confidencialitat de les dades mitjançant l’ús del mecanisme SSH (Secure Shell) per transferir els fitxers. Per tant, les dades en trànsit estan protegides contra els atacs d’exploració. Els clients poden carregar i descarregar fitxers i directoris a i des d’un servidor mitjançant aquest protocol. Requereix una contrasenya o claus per a l'autenticació. El port per defecte de SCP és el port TCP 22.
L’avantatge del protocol SCP és que no cal iniciar una sessió FTP ni iniciar sessió explícitament als hosts remots per a la transferència de fitxers.
Sintaxi per al protocol SCP
# 1) Per copiar el fitxer de local a l'amfitrió remot
scp (options) SourceFileName UserName@TargetHost:TargetPath
Aquesta és la sintaxi bàsica de l'ordre SCP que copiarà el fitxer font de l'amfitrió actual al camí de destinació de l'amfitrió de destinació mitjançant un compte d'usuari. Normalment, és força similar a l’ordre copy cp.
# 2) Per copiar des d'un host remot a local
Per copiar fitxer:
scp (options) UserName@SourceHost:SourceFilePath TargetFileName
O, simplement descarregueu el fitxer:
scp (options) UserName@SourceHost:SourceFilePath
Per copiar la carpeta (recursivament):
scp -r UserName@SourceHost:SourceDirectoryPath TargetFolderName
Si l'amfitrió remot utilitza un port diferent del port predeterminat 22, el número de port s'ha d'esmentar explícitament a l'ordre amb l'opció -P.
# 3) Còpia d’un ordinador remot a un altre equip remot
scp (options) UserName@SourceHost:SourcePath UserName@TargetHost:TargetPath
Quan copieu fitxers d’un equip remot a un altre, el trànsit no passa per l’ordinador. Aquesta operació té lloc directament entre els dos servidors remots.
# 4) Còpia de diversos fitxers
Per copiar diversos fitxers de localhost a un amfitrió remot:
scp file1 file2 UserName@TargetHost:TargetDirectoryPath
Per copiar diversos fitxers d'un amfitrió remot a un directori actual de localhost:
scp UserName@SourceHost:SourceDirectoryPath{file1, file2}
Opcions utilitzades amb l'ordre SCP
A continuació es detallen les opcions més utilitzades amb l’ordre SCP:
- -C : C, aquí significa habilitar la compressió. En utilitzar aquesta opció, s’activarà la compressió i s’augmentarà la velocitat de transferència mentre es copia. Permetrà automàticament la compressió a l'origen i la descompressió a l'objectiu.
- -c: c significa xifrat. Per defecte, SCP utilitza 'AES-128' per xifrar fitxers. Si voleu canviar el xifratge, heu d’utilitzar l’opció -c seguida del nom del xifratge.
- -i: jo significa fitxer d’identificació o clau privada. Generalment, l’autenticació basada en claus s’escull en entorns Linux. Per tant, podem esmentar específicament el fitxer de clau privada o el fitxer d’identitat mitjançant l’opció -i.
- -l: l significa ample de banda límit. Mitjançant aquesta opció, podeu establir l’amplada de banda màxima a utilitzar. Es troba en Kbits / s.
- -B: Aquesta opció s’utilitza per utilitzar el mode per lots mentre es copia.
- -F: Aquesta opció s'utilitza per utilitzar un fitxer ssh_config diferent mentre es copia en situacions en què necessiteu utilitzar xarxes diferents per connectar-vos a sistemes Linux. En aquests casos, cal assignar un fitxer de configuració SSH substitut per usuari.
- -P: Si el número de port ssh de l'amfitrió de destinació és diferent del número de port predeterminat 22, haureu d'esmentar específicament el número de port mitjançant l'opció -P.
- -p: Aquesta opció s’utilitza per conservar els permisos, modificacions i temps d’accés dels fitxers mentre es copia.
- -q: Aquesta opció executarà l'ordre SCP en mode silenci. Apagarà el mesurador de progrés i no mostrarà el progrés de la transferència, els avisos ni els missatges de diagnòstic de ssh a la pantalla del terminal Linux.
- -r: L'opció -r s'utilitza per copiar recursivament els fitxers i directoris. Per exemple, si voleu copiar tota la carpeta (juntament amb el contingut dins de la carpeta) en una màquina de destinació, heu d'utilitzar l'opció -r.
- -S: Aquesta opció s’utilitza per especificar el programa que s’ha d’utilitzar per connectar-se.
- -v: v significa detallat. Aquesta opció mostrarà el progrés pas a pas de l'execució de l'ordre SCP a la pantalla del terminal. És molt útil en la depuració.
Exemples d'ordres SCP
Entenguem com s'utilitza l'ordre SCP amb l'ajut d'exemples:
Exemple 1: per copiar de l'amfitrió local a l'amfitrió remot
scp -v lockfile.txt kaushapx@10.172.80.167: /home/cpf657/kaushapx/test1
A l'exemple anterior,
millors aplicacions de vr per a VR box
- L'opció -v s'utilitza com a opció detallada per veure els detalls de la sortida d'aquesta ordre al terminal Linux. Mitjançant la sortida detallada, podeu conèixer exactament el que passa en segon pla quan s’executa l’ordre. Això ajuda a depurar.
- Lockfile.txt és el nom del fitxer font que volem transferir a un amfitrió remot.
- Kaushapx és un exemple de nom d'usuari. Mitjançant aquest compte de nom d’usuari, copiarem el fitxer de manera segura a l’amfitrió remot.
- 10.172.80.167 és l’exemple de la IP de l’amfitrió remot de destinació al qual volem transferir el fitxer.
- / home / cpf657 / kaushapx / test1 és un exemple de ruta absoluta on volem posar aquest fitxer transferit.
Les captures de pantalla següents mostren l'execució de l'ordre SCP anterior.
Exemple 2: per copiar des de l'amfitrió remot al sistema local:
scp kaushapx@10.172.80.167:/home/cpf657/kaushapx/test/parent/directory1/DemoFile.txt /home/tpf655/kaushapx
Exemple 3: per copiar diversos fitxers a un amfitrió remot:
scp DemoFile.txt log.xml kaushapx@10.172.80.167:/home/cpf657/kaushapx/test
Exemple 4: per copiar fitxers en dos sistemes remots:
scp kaushapx@10.172.80.167:/home/cpf657/kaushapx/console.txt kaushapx@10.182.46.76:/home/tpf655/kaushapx/test
Exemple 5: per copiar fitxers i directoris de manera recursiva (mitjançant l'opció -r):
Suposem que tinc una carpeta anomenada 'prova' al localhost i que conté quatre fitxers. Vull copiar tota la carpeta dins d’una altra carpeta anomenada ‘test1’ present en un amfitrió remot.
Utilitzaré l'ordre següent:
scp -r test kaushapx@10.172.80.167:/home/cpf657/kaushapx/test1
Exemple 6: per augmentar la velocitat de còpia activant la compressió (mitjançant l'opció -C):
c ++ converteix char a int
Transferim la mateixa carpeta que vam fer a l'exemple 5, però aquesta vegada activant la compressió:
scp -r -C test kaushapx@10.172.80.167:/home/cpf657/kaushapx/test1
Exemple 7: per limitar l’amplada de banda mentre es copia (mitjançant l’opció -l):
Continuem amb la mateixa opció. Aquesta vegada utilitzarem l’opció -l i especificarem l’amplada de banda, per exemple, 500. Recordeu, l’amplada de banda que hem posat aquí és en Kbit / s.
Exemple 8: per especificar diferents ports ssh mentre es copia (mitjançant l'opció -P):
Si el servidor remot on esteu copiant el fitxer utilitza algun port diferent del port predeterminat 22, haureu d’indicar explícitament el número de port a l’ordre SCP mitjançant l’opció -P. Per exemple, si el port ssh del servidor remot és 2022, esmentarà -P 2022 a l'ordre SCP.
scp -P 2022 console.txt kaushapx@10.182.46.76:/home/tpf655/kaushapx/test
Exemple 9: per conservar els permisos, modificacions i temps d'accés dels fitxers mentre es copia (mitjançant l'opció -p):
scp -p console.txt kaushapx@10.172.80.167:/home/cpf657/kaushapx/test1
Exemple 10: per copiar fitxers en mode silenci (mitjançant l'opció -q):
scp -q console.txt kaushapx@10.172.80.167:/home/cpf657/kaushapx/test1
Exemple 11: per identificar fitxers a SCP mentre es copia (mitjançant l'opció -i):
A l'exemple anterior, my_private_key.pem és el fitxer d'identitat o fitxer de clau privada.
Exemple 12: per utilitzar un xifratge diferent mentre es copia mitjançant SCP (mitjançant l'opció -c):
scp -c 3des-cbc -r test1 kaushapx@10.182.46.76:/home/tpf655/kaushapx/test
Preguntes freqüents sobre l'ordre SCP
En aquesta secció, tractarem algunes preguntes més freqüents sobre l'ordre SCP.
P # 1) Què és l'ordre SCP?
Resposta: SCP significa Protocol de còpia segura. Mitjançant l'ordre SCP, podeu copiar fitxers de manera segura entre hosts d'una xarxa. Utilitza els mecanismes de SSH per a la transferència de dades. Utilitza autenticació basada en claus o contrasenyes.
Q # 2) Què fa SCP a Linux?
Resposta: A Linux, l'ordre SCP transfereix els fitxers entre servidors de manera segura. Pot ser una còpia de fitxer entre un servidor remot i un amfitrió local o entre dos servidors remots. SCP és una ordre preinstal·lada a Linux i és coneguda per la seva simplicitat i seguretat.
P # 3) Com fem fitxers SCP a Linux?
Resposta: Podeu escriure fitxers mitjançant la sintaxi d'ordres següent:
scp (options) (username@)(source_host:)file1 (username@)(destination_host:)file2.
Es poden utilitzar moltes opcions amb l'ordre SCP. Per exemple, -C per a compressió, -c per a xifratge, -P per al port, -I per a la clau privada, -l per a límit, -r per a còpia recursiva, etc.
Q # 4) Com fem SCP un fitxer?
Resposta: Podeu SCP un fitxer mitjançant l'ordre SCP tal com s'esmenta a la Q # 3.
P # 5) SCP copia o es mou?
Resposta: L'ordre SCP copia els fitxers des de l'origen fins a la destinació. Per tant, després de SCP, el fitxer estarà present als dos hosts.
P # 6) Podeu utilitzar SCP per a un directori?
Resposta: Sí, podem utilitzar SCP per a un directori. Heu d’utilitzar l’opció -r per copiar tot el directori juntament amb el seu contingut.
A continuació es mostra la sintaxi de l’ordre SCP per copiar el directori d’un host local a un host remot:
scp -r localhost_path_to_directory username@target_server_ip:/path_to_target_directory/
Q # 7) Com fem servir SCP per a tots els fitxers d'un directori?
Resposta: Per utilitzar SCP a tots els fitxers d’un directori, heu d’afegir * amb la ruta del directori:
scp -r localhost_path_to_directory/* username@target_server_ip:/path_to_target_directory/
D'aquesta manera, tots els fitxers del directori local es copiaran al directori remot.
Q # 8) Podem utilitzar SCP a Windows?
Resposta: Sí, podeu utilitzar SCP al Windows. Tot i això, no es descarrega prèviament a Windows, a diferència de Linux i Mac, de manera que per a Windows, heu d’instal·lar el programari SCP per separat.
Podeu descarregar Putty que inclou SCP per a Windows (programari anomenat Putty SCP (PSCP) o podeu descarregar WinSCP (Windows Secure Copy). El client PSCP s’executa directament des de l’indicador de comandes de Windows. També hi ha un altre programari per utilitzar SCP a Windows .
P # 9) Com fem servir SCP per a diversos fitxers?
Resposta: Per copiar diversos fitxers de localhost a un host remot mitjançant SCP:
scp file1 file2 UserName@TargetHost:TargetDirectoryPath
Per copiar diversos fitxers d'un host remot a un directori actual de localhost mitjançant SCP:
scp UserName@SourceHost:SourceDirectoryPath{file1, file2}
Q # 10) Quina diferència hi ha entre SCP i SFTP?
Resposta: SCP és el protocol de còpia segura. SFTP és el protocol de transferència de fitxers segur. Tots dos utilitzen el port TCP 22 i s'executen al mecanisme SSH. Però difereixen en les especificacions i les funcions.
SCP només transfereix les dades, mentre que SFTP també realitza funcions d’accés i gestió de fitxers, a més de la transferència de fitxers. Amb SFTP, podeu fer operacions com llistar directoris remots o suprimir fitxers. Però SCP només permet copiar fitxers i directoris entre servidors.
La velocitat de transferència de fitxers a SCP és més ràpida que SFTP perquè utilitza un algorisme més eficient per transferir fitxers.
el millor convertidor de youtube a mp3
A SFTP, podeu reprendre la transferència de fitxers interrompuda des del client de línia d'ordres. Però SCP no té aquesta funció.
SFTP ofereix un component GUI, però SCP no en té.
Q # 11) Què és l'ordre SCP a Windows per copiar de manera segura un fitxer?
Resposta: Obriu el símbol del sistema Windows i doneu l'ordre següent per copiar de manera segura un fitxer d'una màquina local de Windows a un servidor (pot ser un servidor Linux):
pscp filepath userid @ target_server_ip: target_path
Exemple: pscp c: desktop sample.txt userxyz@192.162.x.x: /tmp/foo/sample.txt
Haureu de tenir instal·lat PSCP per executar aquesta ordre.
P # 12) SCP és segur?
Resposta: Sí, SCP és segur. Utilitza el mecanisme SSH (Secure Shell Protocol) per a la transferència de dades, de manera que es beneficia de la seguretat que ofereix SSH. Les dades en trànsit es mantenen confidencials i també es garanteix la seva autenticitat.
Conclusió
En aquest tutorial, hem vist com utilitzar l'ordre SCP per copiar de manera segura els fitxers entre dos hosts remots o entre un host local i un host remot, sense iniciar una sessió FTP ni iniciar sessió explícitament a les màquines remotes.
SCP utilitza el mecanisme SSH per copiar les dades i, per tant, les dades en trànsit es xifren i es protegeixen. Necessita una contrasenya o una clau per a l'autenticació. En contrast amb RCP (Remote Copy Protocol) o FTP (File Transfer Protocol), SCP xifra tant el fitxer com les contrasenyes intercanviats entre els sistemes per protegir qualsevol espionatge a la xarxa.
Lectura recomanada
- Talla l'ordre a Unix amb exemples
- Cerca ordre a Unix: cerca fitxers amb fitxer de cerca Unix (exemples)
- Sintaxi d’ordres Unix Cat, opcions amb exemples
- Ordre Ls a Unix amb exemples
- Arguments de la línia d'ordres a Unix Shell Script amb exemple
- Ordre Grep a Unix amb exemples senzills
- Manipulació de fitxers a Unix: Visió general del sistema de fitxers Unix
- Ordre d'ordenació Unix amb sintaxi, opcions i exemples