Usar Ubuntu para intercambiar archivos con un servidor Proxmox VE mediante SSH

Publicado por P. Ruiz en

Logo de ProxmoxYa vimos hace un tiempo Cómo almacenar una imagen ISO en Proxmox VE. Básicamente, la idea era enviar un archivo en formato ISO desde un ordenador de escritorio al servidor Proxmox VE o, directamente, descargarla desde éste.

Sin  embargo, puede haber otras situaciones en las que necesitemos intercambiar archivos con un servidor Proxmox VE, y no necesariamente a la ruta indicada en aquél artículo… Ni siquiera tiene que ser siempre una operación de subida.

De hecho, hoy aprenderemos a realizar este tipo de operaciones usando el protocolo SSH desde un ordenador con Ubuntu, tanto desde la terminal como desde la interfaz gráfica.

Las técnicas explicadas en este artículo no sirven solo para Proxmox VE, si no que podemos usarlas en cualquier servidor GNU/Linux que tenga instalado el protocolo SSH.

Por cierto, si necesitas saber más sobre SSH, puedes consultar los artículos publicados en SomeBooks.es sobre el tema. Y para obtener más información sobre Proxmox VE, puedes hacer clic aquí.

Copiar un archivo del ordenador local al servidor mediante comandos

La implementación del protocolo SSH incluye el comando scp, que facilita la transmisión remota de archivos de un modo parecido a como lo hace el comando cp de GNU/Linux.

Por ejemplo, si quisiéramos subir un archivo al servidor, podríamos usar la sintaxis:

scp archivo-local usuario@servidor:ruta

Analicemos la sintaxis anterior:

  • archivo-local sería el archivo que queremos enviar al servidor. Si es necesario, puede incluir la ruta donde se encuentra. Incluso podemos escribir varios nombres de archivo, separados por comas, o usar caracteres comodín.

  • usuario sería una cuenta del servidor con privilegios para escribir en la ruta donde queremos almacenar el archivo.

  • servidor sería el nombre, o la dirección IP, del servidor.

  • ruta sería la ubicación, en el disco duro del servidor, donde queremos almacenar el archivo. Si no especificamos una ruta, el archivo se copiará a la carpeta home del usuario que estamos usando.

Para ilustrar su funcionamiento, vamos a suponer que queremos resolver el problema del artículo mencionado arriba, pero usando el comando scp.

Lo primero habrá sido descargar la imagen ISO en el ordenador local. En nuestro caso, la de Ubuntu 20.04.2 LTS .

Este es el archivo que queremos transmitir.

Intercambiar-archivos-con-un-servidor-Proxmox-VE-mediante-SSH-001

A continuación, abriremos una ventana de Terminal (por ejemplo, usando la combinación de teclas Alt + Control + T.) y nos desplazaremos hasta la carpeta Descargas. Así, nos ahorraremos  la necesidad de incluir la ruta del archivo en el comando scp:

cd Descargas

Escribimos el comando y pulsamos la tecla Intro.

Intercambiar-archivos-con-un-servidor-Proxmox-VE-mediante-SSH-002

Después de esto, estaremos listos para realizar la copia del archivo. La sintaxis será la siguiente:

Por ejemplo, si quisiéramos resolver el mismo problema del artículo mencionado arriba, pero usando el comando scp, podríamos hacer lo siguiente:

scp ubuntu-20.04.2.0-desktop-amd64.iso root@192.168.1.4:/var/lib/vz/template/iso/

Como ves, hemos utilizado el usuario root, la dirección IP del servidor y la ruta donde Proxmox VE almacena las imágenes ISO. Es fácil imaginar que, si hubiésemos querido almacenar el archivo en una ruta diferente, bastaría con haberla escrito.

Como antes, escribimos el comando y pulsamos la tecla Intro.

Intercambiar-archivos-con-un-servidor-Proxmox-VE-mediante-SSH-003

Como es la primera vez que nos conectamos con el servidor, nuestro ordenador nos avisa de que no conoce la clave pública que se está ofreciendo el servidor y nos pregunta si debe seguir con la conexión.

Dado que estamos en un entrono de red controlado y estamos seguros de que el servidor al que nos estamos conectando es confiable, contestamos yes () a la pregunta.

Escribimos la respuesta y pulsamos la tecla Intro.

Intercambiar-archivos-con-un-servidor-Proxmox-VE-mediante-SSH-004

A continuación, para completar la conexión, deberemos escribir la contraseña de la cuenta de usuario que estamos utilizando.

La escribimos y volvemos a pulsar Intro.

Intercambiar-archivos-con-un-servidor-Proxmox-VE-mediante-SSH-005

Al hacerlo comenzará la transferencia de datos. El intérprete de comandos nos irá mostrando el porcentaje que va siendo enviado…

Y, finalmente, mostrará de nuevo el prompt del sistema.

Intercambiar-archivos-con-un-servidor-Proxmox-VE-mediante-SSH-006

Para comprobar que todo ha sido correcto, basta con acceder a la página de administración de Proxmox VE y dirigirnos al lugar donde se muestran las imágenes ISO almacenadas.

Comprobamos que, efectivamente, el archivo está disponible.

Intercambiar-archivos-con-un-servidor-Proxmox-VE-mediante-SSH-007

Además de scp, otras herramientas de intercambio de archivos, como sftp o rsync también hacen uso del protocolo SSH para realizar su trabajo de forma segura.

Copiar un archivo del servidor al ordenador local mediante comandos

Imagina por un momento que la situación es a la inversa. Es decir, tenemos un archivo en el servidor y necesitamos descargarlo a nuestro ordenador de escritorio. La solución sería básicamente la misma, pero invirtiendo el orden de los argumentos:

scp usuario@servidor:archivo-remoto ruta-local

Adaptándolo a nuestra situación, quedaría algo como esto:

scp root@192.168.1.4:/var/lib/vz/template/iso/ubuntu-20.04.2.0-desktop-amd64.iso ./

Como ves, ahora la complejidad se encuentra en la primera parte del comando. Es decir, el origen de la copia en el equipo servidor. Aquí, indicaremos el nombre del usuario, el nombre o la dirección IP del equipo servidor y la ruta completa del archivo.

Por el contrario, en el destino de la copia nos limitamos ha hacer referencia al directorio actual (./), porque estamos suponiendo que antes nos hemos desplazado hasta el lugar donde queremos guardar el archivo.

Una vez escrito el comando, pulsaremos la tecla Intro.

Intercambiar-archivos-con-un-servidor-Proxmox-VE-mediante-SSH-008

Como cabe esperar, antes de que se inicie la copia deberemos escribir la contraseña de la cuenta del servidor que estamos utilizando. De esta forma, el servidor podrá comprobar que tenemos los permisos necesarios.

Escribimos la contraseña y pulsamos la tecla Intro.

Intercambiar-archivos-con-un-servidor-Proxmox-VE-mediante-SSH-009

Ahora sí, veremos que la transferencia del archivo se inicia de forma inmediata. Además, el intérprete de comandos nos irá mostrando el porcentaje que va siendo enviado…

Y, finalmente, mostrará de nuevo el prompt del sistema.

Intercambiar-archivos-con-un-servidor-Proxmox-VE-mediante-SSH-010

Transferir archivos entre el ordenador de escritorio y el servidor usando la interfaz gráfica

El explorador de archivos Nautilus, que acompaña a Ubuntu de forma predeterminada, tiene la capacidad de mostrar directorios remotos usando el protocolo SSH. Para lograrlo, basta con abrir una nueva ventana del explorador y mostrar la barra de direcciones (por ejemplo, usando la combinación de teclas Ctrl + L).

Ahí escribiremos algo como esto:

ssh://usuario@servidor

Como seguramente hayas deducido:

  • ssh:// informa a Nautilus del protocolo que debe utilizar.

  • usuario será el nombre de la cuenta del servidor con privilegios sobre la ruta donde queremos trabajar.

  • servidor sería el nombre, o la dirección IP, del servidor.

Adaptándolo a nuestras necesidades, quedaría algo así:

ssh://root@192.168.1.4

Una vez escrito, pulsamos la tecla Intro.

Intercambiar-archivos-con-un-servidor-Proxmox-VE-mediante-SSH-011

Igual que en modo texto, Nautilus deberá comprobar que tenemos privilegios para establecer la conexión.

Para continuar, deberemos escribir la contraseña de la cuenta que estamos usando.

Intercambiar-archivos-con-un-servidor-Proxmox-VE-mediante-SSH-012

Al hacerlo, se mostrará la carpeta raíz del sistema remoto.

Solo tendremos que navegar por el árbol de directorios hasta el lugar que nos interesa.

Intercambiar-archivos-con-un-servidor-Proxmox-VE-mediante-SSH-013

A modo de ejemplo, usaremos la misma ruta que en los apartados anteriores, pero podríamos acceder a cualquier otro punto del árbol de directorios.

Comprobamos que aparece el archivo que habíamos subido desde la línea de comandos.

Intercambiar-archivos-con-un-servidor-Proxmox-VE-mediante-SSH-014

A partir de aquí, podríamos comportarnos como si se tratara de una ubicación local. Por ejemplo, podríamos abrir una segunda ventana de Nautilus, con una ubicación local…

Y para subir un archivo al servidor, bastaría con arrastrarlo desde la ventana con la ubicación local a la ventana con la ubicación remota.

Intercambiar-archivos-con-un-servidor-Proxmox-VE-mediante-SSH-015

Como puedes imaginar, también podríamos hacerlo a la inversa.

Podremos seguir el progreso haciendo clic sobre el icono con esa función en la barra de herramientas

Intercambiar-archivos-con-un-servidor-Proxmox-VE-mediante-SSH-016

El tiempo empleado para la transferencia estará en función del tamaño del archivo y de la red que estemos utilizando.

Al final, comprobaremos que el archivo aparece en el destino.

Intercambiar-archivos-con-un-servidor-Proxmox-VE-mediante-SSH-017

Y con esto completamos el contenido de este artículo.

Espero que te resulte útil.