Introducción
Habrá ocasiones en las que tengamos que copiar ficheros desde un equipo local a uno remoto y viceversa. Para ello, si tenemos un servidor ssh, podemos utilizar el comando scp.
Comando scp
Vamos a consultar la página de manual del comando scp.
Si seguimos leyendo…
Vamos a copiar un fichero de nuestra cuenta local a la remota.
Vamos a copiar el fichero saludo.txt que está en nuestro directorio actual o de trabajo al directorio personal del usuario alumno en la máquina 192.168.23.254 con el nombre readme.txt.
Utilizamos el comando scp seguido de la ruta del fichero o ficheros de origen y de la ruta del fichero destino.
No solicita contraseña al conectarse por ssh puesto que hemos configurado la autenticación a través del uso de claves RSA en un paso anterior de esta serie de casos prácticos.
Podemos comprobar que se ha copiado, para ello desde el sistema srv01 vamos a ver el contenido del directorio personal del usuario alumno.
Ahora vamos a copiarnos un fichero desde el equipo remoto, el servidor srv01, a nuestra máquina local. Para ello, primero vamos a crear un fichero que podamos copiar.
Ahora vamos a copiar ese fichero desde la máquina remota srv01 con la cuenta del usuario alumno a nuestra máquina local sin cambiar el nombre del fichero en el directorio actual.
Recuerda, es obligatorio poner el destino. Si no lo ponemos, nos lo advertirá el comando scp.
Ahora vamos a ver si se ha copiado.
¿Podríamos copiar un directorio?
Vamos a probarlo 🙂
Creamos una serie de directorios.
Ahora vamos a copiar este directorio con la opción -r
Vamos a ver si ha funcionado
Cuidado con los : en las rutas
Cuando copiemos ficheros a un destino remoto siempre tenemos que acabar poniendo los : de separación entre nombre de usuario@máquina y ruta del fichero destino, aunque no pongamos ningún nombre o ruta de fichero destino. Esto es así puesto que si no ponemos los : de separación, scp entiende que se desea copiar el origen en un fichero local cuyo nombre es usuario@maquina.
Veamos un pequeño ejemplo.
Si consultamos de nuevo el manual de scp podemos ver que los : son obligatorios.
¿Se puede copiar desde el servidor a mi maquina local?
Vamos a copiar un fichero desde la máquina srv01 al directorio personal del usuario alumno en la máquina local 192.168.23.10.
¡Oh! ¡En nuestros sistemas no funciona!
Para poder utilizar scp en una máquina remota, en esa máquina tenemos que tener instalado y en ejecución un servidor ssh. Por eso no se puede copiar utilizando el comando scp desde la máquina srv01 a la máquina 192.168.23.10 o debsrv, porque en está no está instalado un servidor ssh.
Sin embargo si podríamos hacer la copia desde la máquina local debsrv si la máquina remota es srv01, como hemos hecho hasta ahora, puesto que si tiene instalado servidor ssh.
Conclusión
Si tenemos sistemas configurados con un servidor ssh podemos copiar ficheros desde y hacia estos sistemas con la aplicación scp de forma sencilla.
Dejar una respuesta