jueves, 2 de julio de 2015

Conectar con sftp desde línea de comandos en linux

Para acceder a un servidor sftp desde línea de comandos usaremos el comando sftp, pudiendo usarlo con un login interactivo o mediante certificado. Este comando viene dentro del paquete openssh-client y para instalarlo por ejemplo en Debian lanzaremos lo siguiente, teniendo permisos de root (aunque en prácticamente todas las instalaciones viene por defecto):

[root@metempsicosis ~]# apt-get install openssh-client

El uso del comando es "sftp <opciones> <usuario@ip-servidor>", teniendo una cantidad mucho más amplia de opciones de las que vamos a tratar en este artículo. Para centrarnos en un caso práctico, si por ejemplo queremos conectarnos a un servidor cuya IP es 19.58.92.102 y el usuario de acceso es rencinar el comando que lanzaríamos sería el siguiente (es necesario estar logados con un usuario que tenga permisos de root):

[root@metempsicosis ~]# sftp  rencinar@19.58.92.102
Connecting to 19.58.92.102...
reverse mapping checking getaddrinfo for 19-58-92-102.rad.tsai.es [19.58.92.102] failed - POSSIBLE BREAK-IN ATTEMPT!
rencinar@19.58.92.102's password:

Como podemos ver nos pedirá una contraseña. Si quisiéramos conectarnos mediante un certificado por ejemplo RSA, lo realizaremos de la siguiente manera (asumiendo que el certificado está en el archivo /home/rencinar/rencinarCertificado.ssh):

[root@metempsicosis ~]# sftp -o "IdentityFile=/home/rencinar/rencinarCertificado.ssh" rencinar@19.58.92.102
Connecting to 19.58.92.102...
reverse mapping checking getaddrinfo for 19-58-92-102.rad.tsai.es [19.58.92.102] failed - POSSIBLE BREAK-IN ATTEMPT!
sftp>

Podemos comprobar que hemos accedido correctamente porque nos aparece el promt “sftp>”. En este momento podremos lanzar ciertos comandos para interaccionar con el servidor. Los más importantes son:
  • ls: Para listar directorios del sftp.
  • cd <directorio>: Para entrar en un directorio.
  • put <archivo/archivos>: Para subir archivos al sftp.
  • get <archivo/archivos>: Para descargar archivos del sftp.

Por ejemplo, si tenemos en el sftp la siguiente estructura /sftp/rencinar y dentro de rencinar queremos subir el archivo rencinarDescarga.doc que está en mi equipo local en la ruta  /home/rencinar/rencinarDescarga.doc, después de establecer la conexión con el sftp como hemos visto antes, realizaríamos lo siguiente:

Listamos los directorios:
sftp> ls
sftp

Entramos en el directorio sftp:
sftp> cd sftp

Volvemos a listar los directorios:
sftp> ls
rencinar

Entramos en renciar:
sftp> cd renciar

Listamos para ver los archivos que tiene:
sftp> ls

Procedemos a subir el archivo:
sftp> put /home/rencinar/rencinarDescarga.doc

Comprobamos que se ha subido correctamente:
sftp> ls
rencinarDescarga.doc

No hay comentarios:

Publicar un comentario