El uso de SSH con WordPress puede ser uno de los métodos más seguros y convenientes para acceder a tu sitio web.
Es un protocolo para acceder a los archivos de tu sitio que significa ‘Secure Shell’. Siempre que tengas las credenciales de inicio de sesión, puedes utilizarlo para acceder a tu sitio desde cualquier lugar, sabiendo que lo haces de forma segura.
En este post, aprenderás algunos de los comandos SSH más útiles para usar con WordPress.
¡Vamos a sumergirnos!
¿Qué es SSH y cómo lo uso con WordPress?
SSH es un protocolo seguro para acceder a los archivos de tu sitio WordPress. Este post se centra en los comandos que puedes usar, así que no voy a entrar en detalles sobre cómo usar SSH para acceder a tu sitio, sino que sólo te daré un resumen.
¿Qué es la SSH?
SSH, o ‘Secure Shell’, es un protocolo que puedes usar para acceder a archivos y directorios en un servidor remoto. Las especificaciones de SSH lo definen como:
«Un protocolo para el acceso remoto seguro y otros servicios de red seguros sobre una red insegura».
En lugar de usar tu navegador, usas la Terminal (en macOS o Linux) o un cliente como PuTTY (en Windows) para acceder a tu sitio a través de SSH.
¿Cómo uso SSH con WordPress?
Para un sitio de WordPress, SSH te dará acceso a los archivos de WordPress y a cualquier archivo que hayas añadido al directorio de contenido wp, ya sea a través de las pantallas de administración o directamente.
Es probable que lo uses mayormente en el directorio de contenido de wp, y ocasionalmente en el directorio raíz para acceder a archivos comp wp-config.php.
Para trabajar en tu sitio usando SSH, abre la Terminal o un cliente como PuTTY, y empieza por acceder al servidor. Para hacer esto necesitarás cuatro piezas de información:
- Dirección del servidor.
- Nombre de usuario.
- Contraseña.
- Puerto.
Para conectarse vía SSH con Kinsta, necesitarás encontrar esta información en MyKinsta. Selecciona tu sitio y encuentra la sección SFTP/SSH de la pantalla de información.
Copia esto en la línea de comando.
Una vez que lo hayas hecho, puedes empezar a usar los comandos SSH con tu sitio de WordPress.
Si tu conexión es rechazada, podría ser por una de varias razones. Sigue nuestra guía para resolver los problemas de una conexión SSH rechazada para conectarte de nuevo.
¿Qué es PuTTY y cómo lo uso?
Si estás usando MacOS o Linux, ya tienes la interfaz que necesitas para acceder a tu sitio de WordPress vía SSH. Puedes simplemente usar la Terminal incorporada para usar SSH.
Pero si estás en Windows, necesitarás instalar un cliente para poder usar 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. Luego usas los mismos comandos SSH en PuTTY como lo harías en la Terminal.
¿Cómo puedo automatizar los comandos de SSH con WordPress?
Uno de los beneficios de usar SSH para acceder a tu sitio de WordPress es que puedes automatizar los comandos que usas frecuentemente.
Lo haces usando WP-CLI, la interfaz de línea de comandos de WordPress. Esta es una interfaz que te da acceso a una biblioteca de comandos específicos de WordPress que puedes usar además de los que proporciona SSH.
El uso de WP-CLI significa que puedes automatizar las tareas de administración de WordPress, como la actualización de la instalación de WordPress, la instalación de plugins y la configuración de servidores remotos. El uso en línea de comandos acelera el proceso y puede convertirte en un desarrollador mucho más eficiente
Beneficios de usar SSH con WordPress
El uso de SSH con WordPress te da una serie de beneficios:
- Es seguro. Significa que puedes acceder a tu servidor de forma remota desde donde estés, sabiendo que lo haces a través de una interfaz segura.
- Es conveniente. Te da acceso desde cualquier lugar donde estés. No necesitas acceder a las pantallas de administración de WordPress o incluso tener un navegador web funcionando.
- Es rápido. Usar comandos SSH puede ser mucho más rápido que usar la pantalla de administración de WordPress o acceder a los archivos a través de SFTP en muchos casos.
Ahora que sabes qué es SSH y cómo funciona con WordPress, echemos un vistazo a los comandos SSH más populares que puedes usar con WordPress.
27 comandos de SSH para usar con WordPress
El protocolo SSH tiene un amplio rango de comandos. A continuación he enumerado los más utilizados y los he agrupado en categorías para mayor comodidad.
Comandos de directorio
Hay una serie de comandos SSH que puedes usar para trabajar o manipular los directorios (o carpetas) en tu sitio de WordPress.
pwd – Mostrar Directorio Actual (Camino completo hasta donde estás ahora)
El comando pwd
mostrará el camino completo hasta donde estás en tu servidor ahora mismo. Si escribes esto cuando accedas por primera vez a tu sitio, te dirá en qué servidor estás.
Usa este comando después de entrar en tus carpetas, y verás más información acerca de dónde estás exactamente. Esto puede ser útil para comprobar tu ubicación, ya que no tienes la representación visual que obtendrías al usar un editor de código o un cliente FTP.
ls – Mostrar el contenido del directorio (Listar los nombres de los archivos)
El comando ls
mostrará el contenido del directorio actual.
También puede utilizar parámetros adicionales para personalizar o añadir a la información que devuelve el comando ls
:
ls -a
muestra los archivos ocultos.ls -l
muestra los detalles del archivo para el contenido del directorio, por ejemplo, permisos, propiedad, fecha, etc.ls -s
lista el tamaño de los archivos, en bloques.ls -s
-h muestra el tamaño en una forma legible para el ser humano.
Asegúrate de escribir un espacio entre el comando y cualquier parámetro.
cd – Cambiar Directorio
El comando cd
te permitirá mover a otro directorio. Puedes moverte a subdirectorios del directorio actual o puedes moverte hacia arriba o a través con los parámetros correctos.
El siguiente comando me lleva del directorio raíz de mi servidor al directorio público:
cd public
Para subir en el árbol de directorios o volver al lugar de donde vino, usa uno de estos parámetros:
cd ..
va al directorio inmediatamente superior a tu ubicación actual.cd .. /foldername
te mueve de lado a otra carpeta dentro de la carpeta que está justo encima de ti.cd -
va al directorio anterior.cd /
te lleva al directorio raíz.
En la siguiente captura de pantalla, me he movido al directorio público y he listado su contenido. Si tienes experiencia con el contenido de una instalación de WordPress, esto te resultará familiar:
mkdir – Crear un nuevo directorio
Con el comando mkdir
, puede crear un nuevo directorio en el directorio actual.
Por lo tanto, si estás dentro de la carpeta de un plugin y quieres añadir un directorio para la hoja de estilos, puedes usar este comando:
mkdir styles
Esto añadirá un nuevo directorio vacío a la carpeta en la que te encuentras actualmente. Si quieres añadir un directorio a una carpeta más abajo en la estructura, escribe en la estructura. Así que desde la carpeta wp-content, puedes escribir:
mkdir /plugins/myplugin/styles
rmdir – Eliminar el directorio
El comando rmdir
borrará un directorio de tu servidor. ¡Ten cuidado al usar esto ya que no puedes deshacerlo!
Al igual que con mkdir, puedes usar rmdir para eliminar un directorio en tu ubicación actual:
rmdir styles
O puedes usar rmdir para eliminar una carpeta más abajo en la estructura:
rmdir /plugins/myplugin/styles
También puedes usar rm para eliminar directorios, si añades parámetros adicionales.
rm * nombre de la carpeta
– borrar todos los archivos o el contenido de un directorio.rm -r nombre de la carpeta
– eliminar la carpeta así como las carpetas dentro de ella.
Comandos de archivos o directorios
Los siguientes comandos se pueden utilizar con archivos o carpetas/directorios.
cp – Copiar archivo o carpeta
Puede usar el comando cp
con ambos archivos y carpetas para copiarlos a otra ubicación. Deberás especificar dónde deseas que se copie el archivo o la carpeta.
cp filename.extension /dir/
Esto especifica el nombre del archivo que se va a copiar (incluyendo su extensión) y la ubicación en la que se copiará.
Si desea cambiar el nombre del archivo (es decir, la nueva versión tiene un nombre diferente del original), también puedes especificar el nuevo nombre del archivo.
cp filename.extension /dir/filename.extension
Este comando tiene una serie de parámetros que puedes utilizar:
cp -r
copia todo el contenido de una carpeta.cp -f
borra el archivo de destino si ya existe otro archivo con el mismo nombre, y lo anula con el nuevo.cp - i
da un mensaje de advertencia antes de copiar.cp -u
sobrescribe el archivo en la carpeta de destino sólo si los archivos tienen un contenido diferente.cp -n
comprueba si el archivo ya existe primero y si es así, no se copiará. No sobreescribe el archivo.cp -a
archiva el archivo original.
mv – Mover archivo o carpeta
Además de copiar archivos y carpetas, también puedes moverlos. Para ello, usa el comando mv
.
Al igual que con el cp,
puedes mover un archivo o una carpeta y mantener el mismo nombre o moverlo y renombrarlo.
mv filename.extension /dir/
mueve un archivo y mantiene el mismo nombre.mv filename.extension /dir/filename1.extension
mueve y renombra el archivo.mv nombre de archivo/
.. mueve un archivo una carpeta hacia arriba.
zip – Comprimir archivo o carpeta
Otro comando que puedes usar con las carpetas o archivos es el ZIP
, que puedes implementar para comprimir una carpeta y su contenido. Necesitas incluir el nombre del archivo/carpeta que será comprimido como un archivo zip. Puedes usarlo con parámetros que especificarán si quieres borrar la carpeta original o no.
zip -r nombredearchivo.zip nombredearchivo
comprime una carpeta pero no la borra.zip -m nombre de archivo.zip nombre de carpeta
comprime una carpeta y la borra, dejándote sólo la versión comprimida de la carpeta.zip -d nombre de archivo.zip nombre de carpeta
elimina un archivo del archivo zip existente que especifiques.zip -u nombre de archivo.zip nombre de carpeta
actualiza un archivo dentro de un archivo zip existente: útil si has actualizado el archivo original y no quieres borrar el archivo zip y crear uno nuevo.
Cuando entonces enumere el contenido de la carpeta, verás el archivo zip y la carpeta original si usó zip -r
, pero sólo el nuevo archivo zip si usó zip -m
.
descomprimir – Descomprimir una carpeta
El comando unzip
descomprimirá un archivo zip en tu directorio y extraerá su contenido para crear la carpeta o los archivos de los que se comprimió originalmente:
unzip twentyseventeen.zip
No uses esto si no has borrado la carpeta original al comprimirla. No sobrescribirá la carpeta original. En su lugar, usa zip -m
para eliminar la carpeta original al comprimirla, o usa rm
para eliminarla antes de descomprimir el archivo zip.
También puedes agregar parámetros para descomprimir para personalizar su uso:
- unzip
filename.zip -x excludedfile.zip
excluirá un archivo e impedirá que se descomprima con el resto. Descomprimir nombre de archivo 1.zip nombre de archivo 2.zip nombre de archivo 3.zip
descomprimirá múltiples archivos. Puedes usar esto con tantos archivos zip como quieras, y es mucho más rápido que hacerlo en un cliente FTP.
tar – Crear y desempaquetar archivos comprimidos
El comando tar
le permitirá crear y desempaquetar archivos . tar.gz, que es una alternativa al uso de archivos . zip. Usas el mismo comando para comprimir y descomprimir archivos o carpetas.
Para comprimir un archivo o una carpeta, usa tar cvzf
. La sintaxis para comprimir una carpeta sería:
tar cvzf archivename.tar.gz directoryname
Arriba, archivename
es el nombre del archivo que se va a crear y directoryname
es el nombre de la carpeta que se va comprimir.
Y para descomprimir la carpeta, usa tar xvzf
:
tar xvzf archivename.tar.gz
Las cuatro letras representan instrucciones específicas:
c
le dice tar que comprima los archivos.x
le dice a tar que extraiga archivos.- La «
v
» significa «verboso» y le dice a «tar» que muestre los nombres de los archivos afectados por el comando. z
le dice a tar que descomprima el archivo.f
le dice a tar que está suministrando el nombre del archivo.
Comandos de archivo
A continuación se muestra una lista de los comandos SSH más comunes específicamente para su uso con archivos.
touch – Crear un nuevo archivo
Para crear un nuevo archivo vacío en tu servidor, utiliza el comando touch
:
touch style.css
Sólo puedes crear un archivo en el directorio actual, así que tendrás que navegar hasta él antes de usar el comando touch
.
cat – Mostrar el contenido del archivo
Para mostrar el contenido de un archivo, usa el cat
.
Esto mostrará el contenido completo de cualquier archivo dentro de la Terminal o PuTTY.
grep – Buscar una frase específica
Si sabes que el archivo que necesitas examinar es largo y también sabes qué contenidos estás buscando, puedes usar el comando grep
para buscar un contenido específico.
Abajo he hecho una búsqueda de la palabra ‘sidebar’ en el archivo sidebar.php en un tema.
Esto mostrará cualquier línea que contenga el término de búsqueda.
Si quisiera buscar una cadena de más de una palabra, tendría que encerrarla entre comillas
grep "nav class" footer.php
El comando grep también tiene una serie de parámetros que puedes usar para personalizar tu búsqueda:
grep -i "cadena" nombre de archivo
busca un caso de cadena insensible en el archivo.grep -c nombre de archivo "cadena"
cuenta el número de instancias de una cadena en el archivo.grep -l "cadena" *
lista los archivos que contienen la cadena.grep -n nombre de archivo "cadena"
muestra el número de línea(s) junto con el resultado
head – Lee las primeras 10 líneas de un archivo
Si sólo quieres leer las líneas de apertura de un archivo, entonces usa el comando head
:
head filename.extension
tail – Leer las últimas 10 líneas de un archivo
El comando de tail
funciona de la misma manera que el de head
, pero en cambio lee las últimas diez líneas de un archivo:
tail filename.extension
find – Buscar archivos y directorios
El comando de find
le permite buscar a través de archivos y directorios y devolver aquellos que cumplan con los criterios que usted especifique. El siguiente comando buscará en el directorio actual todos los archivos cuyo nombre incluya ‘índice’:
find . -name "index"
La sintaxis es:
find operator criterion string
Los operadores que puedes usar son:
- / (barra) busca en todo el sistema.
- . (punto) busca en el directorio de trabajo.
- ~ (tilde) busca en el directorio principal.
Así que, si cambias el comando anterior por este, str
buscaría en todo el sistema, no sólo en el directorio actual:
find / -name "index"
Los criterios que puedes utilizar incluyen:
-nombre
– nombre de archivo.-usuario
– archivos pertenecientes a un usuario determinado.-tamaño
– archivos de un tamaño determinado.-tipo -d
– el tipo de directorio. Es decir, sólo buscar directorios.
El término de búsqueda puede ser cualquier cadena que desas. Asegúrate de incluirlo entre comillas.
du – Get File Size
Si quieres saber el tamaño de uno o más archivos en tu instalación de WordPress, usa el comando du
(Uso del disco):
du -h wp-config.php
La inserción de -h significa que el uso del disco se mostrará en un formato legible por el hombre, en lugar de en bloques.
Hay parámetros adicionales que puedes utilizar:
df -h
mostrará el resultado en un formato legible para los humanos.df -m
mostrará el resultado en MB.df -k
mostrará el resultado en KB.df -T
mostrará el tipo de sistema de archivos en una columna extra.df -ht /directoryname
te permite ver información sobre un directorio específico.- En la ayuda del df se enumeran otras opciones que puede utilizar, con sus descripciones.
df help
lista otras opciones que puedes usar, con sus descripciones..
chmod – Cambiar los permisos de un archivo
El comando chmod
te permite cambiar los permisos de un archivo:
chmod 464 filename.extension
Para determinar qué permisos usar, usa la calculadora de permisos de Unix y copia el número que te da en el comando.
nano – Editar un archivo con el editor de texto Nano
Si has usado el comando touch
para crear un nuevo archivo, o tal vez el comando cat para mostrar el contenido de un archivo existente, tal vez quieras entonces editar el archivo.
Puedes hacerlo usando el editor de texto nano
con el comando nano:
nano filename.extension
Esto te permite editar tus archivos directamente desde la línea de comandos.
Cuidado: deshacer tu trabajo es mucho más difícil que si hubieras usado un editor de código o un sistema de control de versiones. Sólo haz cambios menores si tienes confianza en hacerlo.
Para navegar por el archivo, utiliza las teclas del cursor junto con los atajos de teclado que aparecen en la parte inferior de la pantalla. Para salir del archivo, usa Ctrl-X para volver a la Terminal.
vim – Editar un archivo con el editor de texto Vim
El editor de texto vim funciona de manera muy parecida al editor nano y se accede a él usando el comando vim
. Lo que elijas usar dependerá de tus preferencias personales:
vim filename.extension
wget – Download Files
Con el comando wget
, puedes descargar archivos de Internet. Se descargarán en el directorio en el que te encuentras actualmente. Necesitarás incluir la ruta completa del archivo que quieres descargar:
wget https://site.com/filename.ext
Esto descargará el archivo filename.ext de site.com y lo almacenará en su directorio actual.
Comandos de la terminal
Ahora echemos un vistazo a algunos de los comandos más utilizados para ayudar a trabajar con la interfaz de la Terminal (o PuTTY).
clear- Pantalla clara
Si tu pantalla se siente desordenada, simplemente escribe «clear
» (claro) para despejarla y encontrarse de nuevo en la parte superior de una pantalla en blanco. Esto es útil si quieres un ambiente de trabajo limpio o si quieres esconder tu trabajo si estás en un lugar público:
reset – Quitar la salida de la terminal
El comando de reset
eliminará todos sus comandos y salidas de la pantalla de la terminal y limpiará la pantalla.
history – Mostrar los últimos 50 comandos usados
Si no estás seguro de lo que has hecho más recientemente y quieres repetir o deshacer algo, utiliza el comando de history
para obtener una lista de los 50 comandos más recientes que ha utilizado.
screen – Reanudar las sesiones de SSH
Screen es un multiplexor de terminal, o una herramienta que permite extender una única sesión de terminal con múltiples sesiones virtuales. Con Screen, puedes cambiar entre diferentes «ventanas» que ejecutan diferentes tareas sin tener que abrir dos conexiones SSH a tu servidor.
Por ejemplo, puedes usar nano
en una ventana, y cambiar a otra ventana para descargar un archivo grande usando wget
. Además, trabajar en una sesión de Screen te permite reanudar tu tarea después de reconectarse debido a una conexión SSH o un error de red. Para los usuarios de WordPress, Screen es útil para ejecutar de forma segura tareas largas como la importación de bases de datos y la búsqueda regex y la sustitución de procesos con wp-cli.
Veamos más de cerca cómo usar Linux Screen.
Cómo instalar Linux Screen
Primero, debes asegurarte de que Screen esté instalado en tu servidor con el comando que se indica a continuación.
screen --version
Si Screen está instalado, verás algo como esto.
kinstalife@mYJ-kinstalife:~$ screen --version
Screen version 4.03.01 (GNU) 28-Jun-15
De lo contrario, usa los siguientes comandos para instalar Screen.
Ubuntu y Debian
sudo apt update
sudo apt install screen
CentOS y Fedora
sudo yum install screen
Mientras que tu terminal no se ve diferente que antes, ¡ahora estás en una sesión de Screen! Intentemos crear una nueva ventana en la sesión de Screen ahora.
En Linux Screen, todos los atajos comienzan con Ctrl+A
. Para crear una nueva ventana, presiona Ctrl+A
, suelta, y luego presiona c
. Para ver las dos ventanas, presiona Ctrl+A
seguido de ”
.
Cómo cambiar entre las ventanas de la Screen
La siguiente captura de pantalla muestra dos ventanas: 0 y 1. Desde esta ventana, puedes utilizar las teclas de flecha para moverse hacia arriba y hacia abajo entre las diferentes ventanas. Presiona «Enter» o «Return» en una ventana resaltada para seleccionarla. Si conoces el número de una ventana específica, también puedes usar Ctrl+A
y el number
para seleccionarla.
Por último, también puedes usar los siguientes comandos para navegar a la ventana siguiente o anterior.
- Ventana siguiente –
Ctrl+A
n
- Ventana anterior –
Ctrl+A
p
Cómo salir de una sesión de Screen
Para salir de una sesión de Screen, presiona Ctrl+D
. En la terminal se leerá «[screen is terminating]» – esto indica que la sesión de Screen ya no está activa.
Cómo administrar múltiples sesiones de Linux Screen
Una de las características más poderosas de la Screen es la capacidad de usar múltiples sesiones de Screen. Por ejemplo, puedes tener una Screen para ejecutar búsquedas y reemplazar tareas en la base de datos, una para navegar por el sistema de archivos de WordPress y otra para actualizar los plugins en wp-cli. Lo mejor de todo es que puedes separar y reanudar las sesiones de Screen según sea necesario. Esto significa que puedes reanudar un largo proceso de importación de la base de datos incluso si pierdes la conexión con tu servidor.
Antes de continuar, usa Ctrl+D
para salir de tu sesión de Screen existente si es necesario. Después de terminar la sesión de Screen, utilice el siguiente comando para crear una nueva sesión. Fíjate en cómo este comando te permite establecer un nombre único para la sesión. Puedes sustituir «session1» por lo que quieras.
screen -S session1
Después de crear la nueva sesión, usa el comando screen -ls
para listar todas las sesiones de Screen activas. En la siguiente captura de Screen, puedes ver la session1
, la sesión creada por el comando anterior.
Cómo usar la Linux Screen
Después de instalar Screen, use el comando screen
para iniciar una nueva sesión de Screen. Deberías ver algún texto introductorio como la captura de pantalla de abajo. Presione «Intro» o «Return» en su teclado para terminar de inicializar Screen.
Cómo separar una Linux Screen
Cuando usas Ctrl+D
para salir de una sesión de Screen, termina la sesión completamente. ¿Y si quisieras mantener la sesión en segundo plano mientras trabajas en otra cosa? Ahí es donde entra en juego la separación. Cuando se desconecta una sesión de Screen, ésta sigue funcionando en segundo plano. Desconectar es útil para mantener procesos largos como las importaciones de bases de datos y la indexación de Elasticsearch activos en segundo plano.
Para separar una sesión de Screen, sólo tienes que pulsar Ctrl+A
seguido de d
. Si ejecutas screen -ls
después de separar, verás un parámetro «(Separado)» para la sesión de Screen.
Después de separar una sesión de Screen, puedes crear otra Screen.
screen -S session2
Cómo reanudar una Linux Screen
Para reanudar una Linux Screen independiente, use el comando de abajo. Asegúrate de reemplazar «session1» con el nombre de la sesión que deseas reanudar.
screen -x session1
En la siguiente captura de Screen, puedes ver que «session1» está ahora conectada, y «session2» está desconectada.
La Screen es una poderosa herramienta para la multitarea en la terminal. Permite ejecutar múltiples entornos distintos para diferentes tareas sin tener que hacer múltiples conexiones SSH. Recomendamos el uso de Screen si estás ejecutando un proceso intensivo de tiempo en tu sitio de WordPress.
Otros comandos útiles cuando se trabaja a través de SSH
Los siguientes comandos no vienen bajo los encabezados de arriba, pero puede que los encuentres útiles para trabajar con tu sitio de WordPress a través de SSH.
netstat – Conexiones de la red de pantallas
Escribe el comando netstat
y verás los detalles de tu conexión de red y su estado:
e -xit Salir del servidor remoto
Cuando termines de trabajar con tu sitio remoto de WordPress, escribe el comando de exit
para salir del servidor y volver a tu máquina local.
Siempre debes hacer esto cuando termines de trabajar, para que nadie más pueda acceder a tu servidor a través de SSH.
Resumen
Poder acceder a tu sitio de WordPress a través de SSH te da una forma segura y conveniente de trabajar con los archivos de tu sitio sin tener que abrir un cliente FTP o un navegador web.
Gracias a los comandos listados aquí, deberías ser capaz de llevar a cabo la mayoría de las tareas que necesitarás hacer en WordPress sobre SSH y hacer más trabajo más rápido.
Deja una respuesta