Base de conocimientos · Linux
Tutorial de SCP
Última actualización: 2020-04-05
Si trabaja en un entorno UNIX y necesita una forma rápida y segura de copiar archivos, le recomiendo usar scp desde la línea de comandos. SSH y OpenSSH proporcionan la aplicación scp, que le permite conectarse y transferir archivos en servidores que ejecutan un servicio FTP cifrado (el daemon de ssh). Si busca una aplicación con interfaz gráfica para X Window, quizá le interese probar http://gftp.seul.org/.
Así funciona scp:
(Observe el uso de los puntos; ¡son esenciales!)
1) Para copiar un archivo de hostB a hostA, con la sesión iniciada en hostB:
[user@server ~]$ scp -P port filename username@hostA.com:.
(copia el archivo en el directorio principal del usuario en la máquina hostA, debido al punto situado después de los dos puntos)
2) Para copiar una carpeta de hostB a hostA, con la sesión iniciada en hostB, primero use cd para ir al directorio de HostB que contiene la carpeta que desea copiar:
[user@server ~]$ scp -r -P port folder username@hostA.com:.
(crea una carpeta nueva si la carpeta no existe, de nuevo en el directorio principal del usuario)
3) Para copiar un archivo de hostA a hostB, con la sesión iniciada en hostB:
[user@server ~]$ scp -P port username@hostA.com:filename .
(copia en el directorio actual de hostB)
[user@server ~]$ scp -r -P port username@hostA.com:folder .
(copia la carpeta completa en el directorio actual de hostB)
4) Para copiar un archivo o una carpeta contenidos en otra carpeta de hostA a hostB, con la sesión iniciada en hostB:
[user@server ~]$ scp -P port username@hostA.com:/folder/dir/filename .
(copia en el directorio actual de hostB)
[user@server ~]$ scp -r -P port username@hostA.com:/folder/dir .
(copia la carpeta completa en el directorio actual de hostB)
5) En lugar de usar el '.' para indicar que los archivos se copien en el directorio principal o en el directorio de trabajo actual, puede indicar a scp una ruta concreta (siempre que tenga permisos de escritura):
[user@server ~]$ scp -r -P port folder username@hostA:/home/httpd/
[user@server ~]$ scp -P port username@hostA.com:/folder/dir/filename /home/tmp/
¿Su proveedor de alojamiento impone un control de recursos sobre ssh?
Basta con aplicar nice a cualquiera de las instrucciones anteriores, o a todas, con un prefijo como
[user@server ~]$ nice -n +19
Puede cambiar el número 19 por cualquier valor inferior al límite de recursos de su proveedor de alojamiento.
Así funciona scp:
(Observe el uso de los puntos; ¡son esenciales!)
1) Para copiar un archivo de hostB a hostA, con la sesión iniciada en hostB:
[user@server ~]$ scp -P port filename username@hostA.com:.
(copia el archivo en el directorio principal del usuario en la máquina hostA, debido al punto situado después de los dos puntos)
2) Para copiar una carpeta de hostB a hostA, con la sesión iniciada en hostB, primero use cd para ir al directorio de HostB que contiene la carpeta que desea copiar:
[user@server ~]$ scp -r -P port folder username@hostA.com:.
(crea una carpeta nueva si la carpeta no existe, de nuevo en el directorio principal del usuario)
3) Para copiar un archivo de hostA a hostB, con la sesión iniciada en hostB:
[user@server ~]$ scp -P port username@hostA.com:filename .
(copia en el directorio actual de hostB)
[user@server ~]$ scp -r -P port username@hostA.com:folder .
(copia la carpeta completa en el directorio actual de hostB)
4) Para copiar un archivo o una carpeta contenidos en otra carpeta de hostA a hostB, con la sesión iniciada en hostB:
[user@server ~]$ scp -P port username@hostA.com:/folder/dir/filename .
(copia en el directorio actual de hostB)
[user@server ~]$ scp -r -P port username@hostA.com:/folder/dir .
(copia la carpeta completa en el directorio actual de hostB)
5) En lugar de usar el '.' para indicar que los archivos se copien en el directorio principal o en el directorio de trabajo actual, puede indicar a scp una ruta concreta (siempre que tenga permisos de escritura):
[user@server ~]$ scp -r -P port folder username@hostA:/home/httpd/
[user@server ~]$ scp -P port username@hostA.com:/folder/dir/filename /home/tmp/
¿Su proveedor de alojamiento impone un control de recursos sobre ssh?
Basta con aplicar nice a cualquiera de las instrucciones anteriores, o a todas, con un prefijo como
[user@server ~]$ nice -n +19
Puede cambiar el número 19 por cualquier valor inferior al límite de recursos de su proveedor de alojamiento.
Tell us what you need
Compare available plans or describe your workload so we can discuss a suitable starting point.