SCP es un comando muy utilizado para transferir ficheros entre diferentes equipos o servidores, dado que utiliza una conexión SSH, tanto los archivos como la contraseña estarán encriptados durante la transferencia, mejorando así la seguridad de todo el proceso.
¿Qué nos permite hacer el comando SCP?
- Copiar ficheros desde tu equipo local a un sitio o servidor remoto
- Transferir ficheros desde un sitio o servidor remoto a tu equipo local
- Copiar ficheros entre dos equipos remotos
¿Qué necesito para usar SCP?
Lo único que necesitas es tener SSH disponible en tu hosting, por tanto, los Hostings Avanzados y los Hostings App WordPress disponen de esta herramienta, así como todos los VPS y Servidores Dedicados.
¿Cómo puedo usar SCP para transferir ficheros?
La sintaxis del comando es la siguiente:
scp OPCIONES USUARIO@SERVIDORORIGEN:/RUTA/AL/FICHERO USUARIO@SERVIDORDESTINO:/RUTA
- OPCIONES: Aquí se incluyen las diferentes opciones que permite el comando, tales como el cifrado a emplear, copia recursiva, el puerto de conexión… Puedes consultar todas las opciones aquí.
- USUARIO@SERVIDORORIGEN:/RUTA/AL/FICHERO: Aquí establecemos la conexión con el servidor origen e indicamos donde está el fichero o directorio que queremos transferir.
- USUARIO@SERVIDORDESTINO:/RUTA: Por último indicamos los datos de conexión del servidor destino e indicamos a que directorio queremos copiar el fichero del servidor de origen.
Algunas de las opciones más empleadas para transferir ficheros con SCP serían las siguientes
- –P Seguido del puerto que deseas usar para la conexión SCP, si no estableces ninguno se usará por defecto el puerto 22
- –q Activará el modo silencioso, evitará que se muestren errores durante el proceso
- –r Para copiar de forma recursiva un directorio y todo lo que contiene.
- –p Copiará los ficheros al nuevo servidor conservando la fecha de modificación y los atributos del fichero
- –u Eliminará el fichero en origen al terminar la transferencia
- –c Para que la transferencia de los ficheros se haga de forma comprimida ahorrando así ancho de banda a costa de un uso de CPU un poco más intensivo
Ejemplos de uso:
Copiar ficheros desde tu equipo local a un sitio o servidor remoto
En el caso de que queramos transferir un fichero o directorio desde nuestro equipo a un servidor u hosting usaremos este comando:
scp -r /home/miequipolocal/midirectorio USUARIO@SERVIDORENDINAHOSTING:/home/mihosting/midirectoriodestino
En este ejemplo, usamos la opción -r dado que queremos mover un directorio entero, a su vez y dado que estamos copiando un fichero que tenemos en local, no es necesario especificar el usuario ni el servidor origen.
Transferir ficheros desde un sitio o servidor remoto a tu equipo local
Si, por el contrario, necesitamos traer a nuestro equipo local lo que tenemos en nuestro servidor u hosting, podemos hacerlo de la siguiente forma:
scp -r USUARIO@SERVIDORENDINAHOSTING:/home/mihosting/micarpetadecopiadeseguridad /home/miequipolocal/directoriodedescargas
Copiar ficheros entre dos equipos remotos
Si queremos transferir un fichero entre dos servidores u hostings sin que el fichero pase por nuestro equipo, lo haremos así:
scp USUARIO@SERVIDORDH1:/home/hosting/fichero USUARIO@SERVIDORDH2:/home/otrohosting/
De este modo, habremos copiado el fichero desde el servidor SERVIDORDH1 al servidor SERVIDORDH2.
¿Puedo usar SCP para transferir ficheros si utilizo Windows?
Por supuesto, en un equipo Windows puedes también transferir ficheros a tus servidores Linux, y no tendrás que saber demasiado acerca de los comandos, pues ya lo gestiona la aplicación por ti. Te recomendamos emplear la aplicación WinSCP que es una de las más conocidas y sencillas de utilizar.