Actualizado el viernes, 3 noviembre, 2023
Puede que aprender SSH parezca algo complicado, hoy en día estamos muy acostumbrados a emplear gestores con una interfaz visual para hacer modificaciones en cualquier sitio: Un FTP, nuestro equipo o el propio explorador de ficheros y carpetas del servidor. Sin embargo saber gestionar archivos desde línea de comandos es algo que te va a resultar muy útil. Si lo haces desde un terminal SSH, lo harás de forma muy segura.
En el post de hoy te explicaremos los comandos más conocidos para que puedas gestionar los archivos de tu hosting de manera muy sencilla. Si tu web está realizada mediante un gestor de contenido como WordPress las indicaciones son completamente válidas.
Índice de contenidos
SSH en dinahosting
Para conectarte vía SSH no necesitas más que una conexión a internet y algunos datos sobre el servidor al que te quieres conectar, sin embargo antes de nada, un poco de vocabulario. SSH son las siglas de Secure Shell o lo que es lo mismo: Ventana Segura.
SSH es una forma de acceder a un directorio de forma cifrada de manera que nadie pueda interceptar esa información. Te recordamos que desde el Panel de Control de dinahosting tienes un apartado en que poder acceder a un terminal de SSH en la propia ventana de tu navegador, sin necesidad de programas externos y con la información del servidor ya incluida. En ese mismo apartado también te damos las credenciales para poder acceder desde Putty o un terminal externo. Aquí tienes toda la información de como conectarte vía SSH.
Si has seguido los pasos hasta aquí, habrás podido realizar una conexión con tu servidor. Lo más habitual es que quieras hacer modificaciones pequeñas o consultar ficheros. En caso de que tu web esté bajo WordPress lo más habitual es consultar archivos de wp-content o modificar el archivo wp-config.
Recuerda algunos consejos que te dimos en este post de seguridad.
Cómo crear claves SSH
Las claves o llaves SSH nos sirven para acceder a nuestros Servidores Dedicados, Cloud o VPS de forma segura y mediante la línea de comandos. Este sistema de autenticación basado en claves es más seguro que introducir simplemente usuario y contraseña.
Las llaves SSH tienen dos ficheros distintos: la llave pública (que es la que lleva .pub al final) y la privada.
Crear claves SSH en Linux
- Desde tu consola introduce el siguiente comando: ssh-keygen -t rsa. Para una llave más segura de 4096-bit key, puedes introducir ssh-keygen -t rsa -b 4096.
- En el momento en el que te pregunten donde quieres guardar la clave privada, si pulsas enter se guardará en la ubicación por defecto, que es: /home/youruser/.ssh/id_rsa. La clave pública lleva el mismo nombre del archivo, simplemente con .pub al final. Se guardará en la misma ubicación.
Con esto habrás creado tu clave privada en /home/user/.ssh/id_dsa y la pública en /home/user/.ssh/id_dsa.pub.
Crear claves SSH en Windows
En Windows tendrás que ayudarte de puttygen, por lo que el primer paso es descargar y ejecutar este programa.
Accede a él, selecciona SSH2 DSA en el apartado de parámetros, y clica en Generar. Te pedirá que introduzcas una contraseña. Una vez generadas las claves, guárdalas en un lugar seguro.
La clave pública se guarda en el servidor, y la privada es la que vas a tener que introducir al entrar en SSH.
Comandos SSH
Vayamos al meollo de la cuestión. Aprender comandos de SSH. El protocolo SSH tiene infinidad de comandos, sin embargo aquí solamente te mostraremos los más populares ¡no es cuestión de perderse en este primer post! Lo dividiremos en tres grandes grupos:
- Comandos generales: para realizar acciones comunes a cualquier elemento o la propia ventana del terminal.
- Comandos de carpetas: para acciones relacionadas con directorios.
- Comandos de Archivos: para acciones relacionadas con ficheros.
Comandos generales
Existen acciones imprescindibles que vas a necesitar en cualquier tipo de elemento, ya sea un fichero o una carpeta. Además son básicas para poder aprender SSH. Los comandos más comunes son:
- cp. Copiar Debes escribir a continuación el nombre del elemento a copiar (fichero o directorio) y la ruta donde lo quieres copiar. Ej.
cp nombreelemento /dir/
- mv. Mover. Si además de copiar un elemnto quieres borrarlo de la ubicación actual, puedes realizar estas dos acciones en una misma instrucción. mv nombreelemento /dir/
- clear. Para limpiar la pantalla principal.
- zip. Comprimir. SI necesitas comprimir una carpeta por qué quieres descargarla o únicamente guardarla de manera compacta.
- zip -r
nombre elemento.zip nombrelemento
Si quieres comprimir sin borrar - zip -m
nombre elemento.zip nombrelemento
Si quieres comprimir y borrar
- zip -r
- unzip. Para descomprimir recuperar lo que contiene un archivo comprimido. Atención no sobreescribe si existe una carpeta o archivo con el mismo nombre.
Comandos de carpetas
Muchas de las acciones que vas a querer realizar van a estar relacionadas con carpetas o directorios: Borrar, acceder, mover… por ello hemos agrupado todos estos comandos en un mismo apartado:
- pwd. Muestra la ruta de la carpeta en la que te encuentras. Al no existir interfaz visual para poder conocer donde te encuentras; esta instrucción te facilitará mucho las cosas. Ya que en todo momento te mostrará la carpeta en la que te encuentras.
- ls. Enseña los archivos y carpetas existentes dentro del directorio actual.
- cd. Para entrar o salir de una carpeta. Para entrar únicamente tendrás que escribir
cd nombredeldirectorio
, y para salir a un directorio superiorcd..
- mkdir. Se usa para crear carpetas dentro de la carpeta actual. Únicamente es necesario indicar el nombre de la nueva carpeta a continuación de la instrucción. Ejemplo:
mkdir pruebas
- rmdir. Para eliminar carpetas. Al igual que en el caso anterior, a continuación es necesario que escribas el nombre de la carpeta a eliminar. Ten mucho cuidado cuando emplees esta instrucción, ya que no se puede deshacer
Comandos para ficheros
Al igual que las carpetas los ficheros tienen comandos propios. Veamos los más importantes.
- touch. Para crear un archivo nuevo
touch ejemplo.txt
- cat. Muestra el contenido de un archivo
cat ejemplo.txt
- grep. Para buscar una cadena concreta dentro de un archivo. Te será útil si tu archivo es muy extenso y estás buscando una cadena concreta. También puedes emplear esta instrucción para corroborar si existe.
grep cadenaabuscar ejemplo.txt
- chmod. Sirve para cambiar los permisos de un archivo. Ten cuidado, ya que dependiendo de los permisos que modifiques podrías estar convirtiendo tu WordPress en un sitio vulnerable.
chmod 777 ejemplo.extension
Editor de texto para terminal
- nano. Se usa para modificar en el terminal un fichero dado. En la parte de abajo del terminal aparece la combinación de teclas que debes pulsar para realizar ciertas acciones dentro de este editor. Por ejemplo ctrl+o para guardar y ctrl+x para cerrar. Utilízalo solo para hacer pequeñas modificaciones, ya que es bastante tedioso para grandes cambios
nano ejemplo.txt
Podrás ver que con un poco de práctica te puede resultar muy práctico manejar la consola SSH. No obstante si crees que aprender SSH es algo muy complicado para ti, recuerda que desde el propio explorador de archivos del Panel de Control podrás realizar todas las instrucciones que aquí te indicamos de una manera más visual.
Si tienes cualquier duda o problema con tu consola del Panel de Control no dudes en ponerte en contacto con nosotros a través de nuestro servicio de atención al cliente. ¡Hasta la próxima!
Deja una respuesta