Aprender a usar SSH para acceder a tu sitio de WordPress es algo que tal vez no hayas considerado. Para la mayoría de los usuarios de WordPress, la forma más familiar de conectarse a su sitio será a través del panel de control y las pantallas de administración de WordPress, combinado con SFTP y phpMyAdmin para acceder a la base de datos.

Pero SSH podría ser una de las herramientas más valiosas en tu cinturón de herramientas de WordPress.

Si quieres acelerar tu flujo de trabajo, descubrirás que aprender a usar SSH para conectarte a tu sitio de WordPress te hará más eficiente.

En este post, te mostraremos cómo hacerlo.

¿Qué es la SSH?

Primero, comencemos por identificar qué es la SSH y cuándo podrías usarla.

SSH significa ‘Secure Shell’. Las especificaciones de SSH lo definen como:

«Un protocolo para el acceso remoto seguro y otros servicios de red seguros sobre una red insegura.»

Esto significa que puedes usarlo para acceder a tu sitio de WordPress de forma remota, desde cualquier ordenador e independientemente de dónde esté alojado tu sitio, siempre que tengas las credenciales de acceso. El uso de este método es inherentemente seguro.

El SSH está diseñado para proporcionar un acceso seguro, así que puedes estar seguro de que nadie puede acceder a tu conexión mientras la estás usando. También es rápido y fácil de usar una vez que le hayas cogido el tranquillo. Y si quieres interactuar con la API REST de WordPress, es una forma de enviar comandos.

Para conectarse a su servidor a través de SSH, necesitará dos cosas:

  • Una interfaz.
  • Credenciales de acceso.

Si estás usando Linux o MacOS, tienes una interfaz integrada en tu sistema operativo, así que no necesitas instalar un cliente SSH. Pero si estás usando Windows, necesitarás instalar un cliente. Te mostraré cómo hacerlo en este post.

Herramientas necesarias para conectarse a tu sitio a través de SSH

Para empezar, necesitarás usar la terminal o un cliente de SSH. Estos funcionan de manera muy similar.

Conectando a través de la Terminal en MacOS o Linux

La Terminal es una aplicación que viene con Linux o macOS, que permite usar la línea de comandos para enviar comandos, ya sea a tu máquina o a un servidor remoto.

No es una interfaz gráfica, así que no usarás un ratón. En su lugar, escribes comandos de texto. Para un usuario novato, puede ser un poco desconcertante, ya que probablemente estés acostumbrado a ver representaciones visuales de tus comandos. Pero una vez que te acostumbres, lo encontrarás más rápido.

Si trabajaste con computadoras en los días previos a las interfaces gráficas de usuario, usando sistemas como el MS-DOS de Microsoft, podrías estar familiarizado con este tipo de interfaz. La buena noticia es que la Terminal te da muchas más opciones que el MS-DOS.

Para abrir la Terminal en Mac, abre Spotlight y escribe Terminal. También puedes acceder a él a través de Aplicaciones > Utilidades.

Encontrar la terminal en Mac
Encontrar la terminal en Mac

Para abrir Terminal en Linux, encuéntralo en el menú de Aplicaciones. Si no es visible inmediatamente, teclea «Terminal» en la pantalla para encontrarla.

Conectando a través de un cliente SSH en Windows

Un cliente SSH es un programa que necesitas instalar si estás usando Windows, para conectarte vía SSH.

El cliente más popular de SSH es PuTTY. Tendrás que descargarlo e instalarlo antes de poder acceder a tu sitio desde Windows.

Descargar PuTTY
Descargar PuTTY

Instalando el cliente Putty SSH en Windows

Empieza por ir a la página de descarga de PuTTY.

La página de descarga de PuTTY
La página de descarga de PuTTY

A partir de aquí, elige el paquete que corresponda a tu versión de Windows. Si no estás seguro de si descargar la versión de 32 o 64 bits, consulta la página de preguntas frecuentes. En caso de duda, la versión de 32 bits es la opción más segura.

Haz clic en una de las dos opciones en MSI (‘Windows Installer’). El archivo se descargará en su máquina y ejecutará el instalador.

Una vez que PuTTY se haya instalado, ábrelo y podrás usarlo para conectarte a tu sitio.

¿Cómo conectarse a tu servidor a través de la línea de comandos?

Una vez que hayas encontrado o instalado la Terminal o un cliente SSH, el siguiente paso es conectarse a tu sitio remoto.

Tanto en la Terminal como en un cliente SSH, se utiliza la línea de comandos para conectarse y enviar comandos a tu servidor. Esa es la terminología que usaré de ahora en adelante, en lugar de referirme a Terminal o a un cliente SSH.

Para hacer esto, necesitarás cuatro piezas de información:

  • Dirección del servidor.
  • Nombre de usuario.
  • Contraseña.
  • Puerto.

La dirección del servidor suele ser su nombre de dominio o dirección IP. Si tu sitio está alojado en Kinsta, utiliza tu dirección IP.

El nombre de usuario y la contraseña serán el nombre de usuario y la contraseña del FTP, no los de tu administrador de WordPress.

El puerto será proporcionado por su proveedor de alojamiento. En algunos casos, se utiliza un puerto por defecto, pero para mayor seguridad en Kinsta, utilizamos diferentes puertos para diferentes sitios.

En MyKinsta, puedes encontrar los detalles seleccionando tu sitio y encontrando la sección SFTP/SSH de la pantalla de información.

MyKinsta SSH
MyKinsta SSH

Sólo copia esto y pégalo en la línea de comandos.

Una vez que lo hayas hecho, se te pedirá tu contraseña. Copia eso de MyKinsta y se le dará acceso a tu servidor.

Verás una pantalla que se parece a esta:

Pantalla inicial de Kinsta SSH
Pantalla inicial de Kinsta SSH

Si no estás con Kinsta, tu pantalla se verá un poco diferente, pero aún así te dará acceso a tu servidor.

¿Cómo usar el SSH para interactuar con tu sitio?

Ahora puedes empezar a usar SSH para interactuar con tu servidor y tu sitio. Hay un número de comandos de SSH que puedes usar, así como los comandos proporcionados por la Interfaz de Línea de Comandos de WordPress (WP-CLI).

Comandos básicos de SSH

SSH viene con una serie de comandos que puedes usar para conectarte e interactuar con tu servidor.

Una vez que has mirado en tu servidor a través de la línea de comandos, simplemente tecleas los comandos SSH de la misma manera que lo harías si estuvieras usando Terminal para interactuar con tu propio ordenador.

Echemos un vistazo a algunos de los comandos SSH más útiles que podrías empezar a usar.

El Comando de ls

Usa el comando ls para obtener una lista de los archivos y directorios en tu ubicación actual. Puedes agregar más al comando para obtener más información:

  • ls -l muestra los detalles de los archivos, como el tamaño, la fecha y hora de modificación, el propietario y los permisos.
  • ls -a muestra archivos y directorios ocultos.
La orden de ls
La orden de ls

El cd de Comando

Usa el comando cd para cambiar de directorio. Se te llevará al nuevo directorio y la línea de comandos te indicará dónde se encuentra:

El comando cd
El comando cd

Entonces puedes usar ls de nuevo para averiguar qué hay en el nuevo directorio.

Puedes usar el cd para bajar más de un directorio o para subir o cruzar directorios. Para subir, introduce dos puntos después del cd, así:

cd ..

Y para ir a un directorio específico, escribe la ruta completa del directorio como:

cd public/wp-content/themes

El Comando Mkdir

Usa el comando mkdir para crear un nuevo directorio. Así que si estoy en el directorio de los temas, podría crear un nuevo directorio para un nuevo tema:

mkdir mytheme

El touch Comando

Una vez que hayas creado mi nuevo directorio, podría sañadirle un nuevo archivo usando el comando táctil:

touch style.css

El cat Comando

Para mostrar el contenido de un archivo, usa el comando cat.

El comando del cat
El comando del cat

El Comando rm

Utiliza el comando rm para eliminar un archivo o una carpeta. Utilízalo con precaución, ya que no se puede deshacer:

rm style.css

El comando cp

El comando cp se utiliza para copiar archivos y carpetas. Es necesario proporcionar el nombre del archivo o carpeta y la ubicación donde deseas copiarlo.

cp [options] [source] [destination]

También puedes añadir opciones al principio del comando, pero no es necesario. Así que para copiar el archivo footer.php de un tema a otro cuando estés en el directorio wp-content, usarías esto:

cp /themes/theme1/footer.php /themes/theme2/

No añadas un nombre para el archivo de destino. Si lo haces, y ya existe un archivo con ese nombre en ese destino, entonces el archivo se sobrescribirá con el contenido del archivo que estás copiando.

Si no incluyes un nombre de archivo en la activación y ese archivo ya existe, entonces recibirá un mensaje de error y la copia no tendrá lugar.

Ya he mencionado que hay algunos elementos opcionales que puede añadir al principio de este comando. Estos son:

  • -f: si no tienes permiso de escritura para el archivo de destino, se borrará y el comando creará un nuevo archivo.
  • -u: copiar el archivo de origen sólo si es más reciente que el de destino.
  • -n: no sobrescribirá un archivo existente.
  • -a: archivar los archivos.
  • -R: para las carpetas solamente, copia todos los archivos y carpetas dentro de esa carpeta.

El Mando MV

Como alternativa a la copia de un archivo, puedes moverlo usando el comando mv. Para ello, sólo tienes que proporcionar el origen y el destino: no hay opciones.

mv /themes/theme1/footer.php /themes/theme2/

Esto eliminará el archivo footer.php del tema 1 y lo moverá al tema 2. Si haces esto con una carpeta, siempre moverá los archivos y carpetas dentro de ese directorio también.

Puedes encontrar información sobre más comandos de SSH en la documentación de SSH.

Usando WP-CLI para interactuar con tu sitio

Además de los comandos estándar de SSH, WordPress también te da la interfaz WP-CLI, que proporciona aún más comandos. Esto incluye la interacción con archivos y carpetas, las opciones de administración y tu base de datos.

Con Kinsta, WP-CLI viene con tu hosting y puedes empezar a usarlo inmediatamente. Si tu proveedor de hosting no te da tu WP-CLI, puedes instalarlo siguiendo los pasos de esta guía de WP-CLI.

Prueba y solución de problemas de su conexión SSH

A veces puedes encontrar que la SSH no se comporta de la manera que quieres. O bien no puedes conectarte, o el comando que has usado no funciona de la manera que esperas.

Si eso sucede, prueba algunos de estos consejos para la solución de problemas.

Si no puedes conectarte a través de SSH

Si no puedes conectarte a tu servidor, echa un vistazo a los mensajes de error o indicaciones que te da la línea de comandos. A veces tendrás que responder a un aviso de sí/no o corregir un error de escritura en tu comando.

Si eso no funciona, comprueba que las credenciales de acceso que has proporcionado son correctas. Podrás obtenerlas en la página de Info de su sitio en MyKinsta. Otros proveedores de hospedaje probablemente tendrán una sección de SSH en cPanel o en cualquier tablero que estén usando.

Si lo has intentado de nuevo y sigue sin funcionar, intenta restablecer tu contraseña de SSH. Comprueba que tu conexión a Internet funciona y que no hay un cortafuegos que te impida acceder a tu servidor. Si tienes dudas, cierra el terminal o tu cliente SSH y ábrelo de nuevo.

Ingresa a tu cuenta de alojamiento y comprueba que no hay ningún problema de servidor que te impida el acceso. Si estás con Kinsta, ve a nuestra página de estado del sistema para averiguar si algo no funciona.

Pantalla de estado del sistema Kinsta
Pantalla de estado del sistema Kinsta

Si estás en una red pública, puede que no permita el acceso de SSH a tu puerto. Intenta probarlo con otros puertos que sepas que funcionan.

Si todo lo demás falla, abre un ticket de soporte con tu proveedor de alojamiento que podrá acceder a los registros y averiguar por qué no ha podido conectarse.

Si tus comandos de SSH no funcionan como deberían

Otro problema común es que un comando de SSH no funciona de la manera que esperas. Esto se debe normalmente a que el comando ha sido introducido incorrectamente.

Aquí hay un ejemplo donde escribí is en lugar de ls :

Introducir un error de escritura en la terminal
Introducir un error de escritura en la terminal

Aquí, se me presenta una advertencia de error (command not found) así que lo intento de nuevo, con el comando correcto.

A veces puedes escribir el comando correctamente, pero te equivocas en los parámetros. Si este es el caso, revisa la documentación de SSH para los comandos de SSH y la documentación de WP-CLI para los comandos de WP-CLI.

Si tus comandos de SSH no funcionan porque la conexión no funciona, verás un mensaje de error diciéndote esto. La línea de comandos te proporciona constantemente información sobre lo que está pasando, lo cual es uno de sus beneficios. De hecho, a menudo te da más información y más clara que una interfaz gráfica.

¿Cómo generar un nuevo Key Pair de SSH para mayor seguridad?

Generar un Key Pair de SSH agrega una capa extra de seguridad cuando se compara con el uso de su nombre de usuario y contraseña para conectarse a SSH. Lo haces desde dentro de la Terminal o de tu cliente de SSH. A continuación te explicamos cómo.

La generación de un Key Pair implica tres pasos:

  1. Genera el Key Pair en la Terminal o en tu cliente de SSH.
  2. Añade el Key Pair a tu cuenta de alojamiento – en MyKinsta lo haces a través de las pantallas de configuración de usuario.
  3. Conéctate a tu servidor en Terminal o a tu cliente SSH usando el Key Pair.
Añadiendo SSH key en MyKinsta
Añadiendo SSH key en MyKinsta

Puedes encontrar instrucciones completas sobre cómo hacerlo en nuestra guía para generar Key Pair de SSH para macOS, Linux y Windows.

Resumen

Usar SSH para conectarse a tu servidor y a tu sitio de WordPress te hará más eficiente que confiar en la interfaz de administración de WordPress, FTP, e incluso phpMyAdmin.

Sigue los pasos anteriores para conectarte a tu servidor a través de SSH y verás que puedes hacer más en tu sitio sin tener que cambiar entre aplicaciones o ventanas del navegador.

Ahora es tu turno: ¿cuál es tu comando terminal preferido que usas a diario? ¡Háznoslo saber en los comentarios!

Rachel McCollin

Rachel McCollin has been helping people build websites with WordPress since 2010. She's a huge fan of self-hosted WordPress and wants to help as many people as possible create an awesome website with it.