Cómo usar SSH en DirectAdmin para transferir archivos
¿Qué es SSH y por qué te facilitará la vida en DirectAdmin?
SSH (Secure Shell) es un protocolo de red que te permite conectarte a tu servidor de forma segura y cifrada. Piensa en él como una puerta trasera privada y blindada para administrar tu hosting a nivel de sistema operativo. A diferencia del panel de control (DirectAdmin), que trabaja con una interfaz gráfica, SSH te da acceso directo a la "terminal" o consola de tu servidor Linux.
Con el acceso shell que ofrece DirectAdmin, puedes ejecutar comandos directamente en el servidor. Esto es especialmente útil para tareas como:
- Transferir archivos de forma masiva y rápida.
- Mover sitios web completos entre servidores.
- Crear copias de seguridad automatizadas.
- Editar permisos de archivos y carpetas.
- Ejecutar scripts de mantenimiento.
La gran ventaja de usar SSH para transferir archivos es la velocidad y la fiabilidad. Los comandos como scp y rsync están optimizados para mover grandes volúmenes de datos de manera eficiente, superando con creces a las interfaces web como el Administrador de Archivos de DirectAdmin, especialmente cuando hablamos de miles de archivos o bases de datos pesadas.
Requisitos previos para usar SSH en DirectAdmin
Antes de lanzarnos a los comandos, necesitas tener algunas cosas listas:
- Acceso Shell habilitado: En DirectAdmin, ve a "Cuenta" > "Acceso Shell" (o "SSH Access"). Asegúrate de que tu usuario tenga el acceso permitido. A veces, el proveedor de hosting lo desactiva por defecto. Si no lo ves, contacta con tu soporte.
- Cliente SSH: Necesitas un programa para conectarte. En Linux y macOS, puedes usar la terminal integrada. En Windows, te recomiendo PuTTY o la terminal de Windows (PowerShell) con soporte SSH integrado.
- Datos de conexión: Tu dirección IP del servidor, tu nombre de usuario principal de DirectAdmin y tu contraseña (o, mejor aún, una clave SSH para mayor seguridad).
- Puerto SSH: Por defecto, es el 22. Algunos servidores lo cambian por seguridad. Verifica este dato con tu proveedor o en la configuración de DirectAdmin.
[WARNING] Nunca compartas tu contraseña SSH o tu clave privada. Quien tenga estos datos tendrá control total sobre tu servidor.
Primeros pasos: Conectarse por SSH
Una vez que tienes los requisitos, conectar es sencillo. Abre tu terminal (o PuTTY) y escribe:
ssh usuario@tu-servidor.com -p 22
Reemplaza usuario con tu nombre de usuario de DirectAdmin y tu-servidor.com con tu IP o dominio. Si tu puerto es otro, cámbialo en el -p.
Te pedirá la contraseña. Al escribirla, no verás nada en pantalla (ni asteriscos), es normal. Pulsa Enter y ya estarás dentro.
[TIP] Si usas PuTTY en Windows, pega la IP en el campo "Host Name", asegúrate de que el puerto sea 22 (o el tuyo) y pulsa "Open". Luego te pedirá usuario y contraseña.
Ahora que estás dentro, verás algo como usuario@servidor:~/$. Ese es tu prompt y significa que ya puedes ejecutar comandos.
Transferir archivos con SCP (Copia Segura)
El comando scp (Secure Copy) es el más básico para transferir archivos. Se basa en SSH, por lo que la transferencia es cifrada. Es ideal para copias puntuales.
Subir un archivo de tu PC al servidor
Desde tu terminal local (no la del servidor), escribe:
scp /ruta/local/mi-archivo.zip usuario@tu-servidor.com:/ruta/destino/
/ruta/local/mi-archivo.zip: La ruta del archivo en tu computadora.usuario@tu-servidor.com: Tu usuario y servidor./ruta/destino/: La carpeta en el servidor donde quieres subirlo (por ejemplo,/home/usuario/public_html/).
Descargar un archivo del servidor a tu PC
El comando es casi igual, pero invirtiendo los argumentos:
scp usuario@tu-servidor.com:/ruta/remota/mi-archivo.zip /ruta/local/
Transferir una carpeta completa
Para copiar una carpeta y todo su contenido, usa la opción -r (recursiva):
scp -r /ruta/local/mi-carpeta usuario@tu-servidor.com:/ruta/destino/
[TIP] Si tu puerto SSH no es el 22, usa
scp -P 2222(con P mayúscula) para especificar el puerto correcto.
Transferir archivos con RSYNC (Sincronización Avanzada)
Si scp es una copia simple, rsync es una sincronización inteligente. Es perfecto para transferir grandes cantidades de datos o sitios web completos, ya que solo transfiere las diferencias entre archivos. Esto lo hace mucho más rápido y eficiente.
Sincronizar una carpeta local con una remota
Para subir una carpeta y mantenerla sincronizada con el servidor:
rsync -avz -e ssh /ruta/local/mi-sitio/ usuario@tu-servidor.com:/ruta/destino/
-a: Modo archivo (preserva permisos, fechas, etc.).-v: Verboso (muestra lo que hace).-z: Comprime los datos durante la transferencia para ir más rápido.-e ssh: Fuerza el uso de SSH como transporte.
Descargar una carpeta del servidor
Solo invierte las rutas:
rsync -avz -e ssh usuario@tu-servidor.com:/ruta/remota/ /ruta/local/
Sincronizar y eliminar archivos extra
Si quieres que la carpeta de destino sea una copia exacta de la de origen (borrando los archivos que sobren), añade --delete:
rsync -avz --delete -e ssh /ruta/local/ usuario@tu-servidor.com:/ruta/destino/
[WARNING] Ten mucho cuidado con
--delete. Si pones la ruta equivocada, podrías borrar archivos importantes en el servidor. Siempre verifica las rutas antes de ejecutar.
Usar un puerto diferente con rsync
Para un puerto no estándar, usa -e "ssh -p 2222":
rsync -avz -e "ssh -p 2222" /ruta/local/ usuario@tu-servidor.com:/ruta/destino/
Comandos SSH esenciales para gestionar archivos en el servidor
Además de transferir, necesitarás moverte y gestionar archivos. Aquí tienes los comandos imprescindibles:
ls -la: Lista todos los archivos y carpetas, incluyendo los ocultos, con detalles de permisos.cd nombre-carpeta: Cambia al directorio indicado.cd ..: Sube un nivel en el árbol de directorios.pwd: Muestra la ruta actual en la que te encuentras.mkdir nombre-carpeta: Crea una nueva carpeta.rm archivo.txt: Elimina un archivo.rm -rf nombre-carpeta: Elimina una carpeta y todo su contenido de forma recursiva y forzada.mv archivo.txt /nueva/ubicacion/: Mueve o renombra un archivo.cp -r carpeta-origen carpeta-destino: Copia una carpeta y su contenido.tar -czvf archivo.tar.gz carpeta/: Crea un archivo comprimido.tar.gzde una carpeta.tar -xzvf archivo.tar.gz: Descomprime un archivo.tar.gz.chmod 755 archivo: Cambia los permisos de un archivo o carpeta (muy útil parapublic_html).
[INFO] Los permisos
755son los más comunes para carpetas en un hosting web. Los archivos suelen usar644. Esto permite que el servidor web lea los archivos, pero solo el propietario pueda modificarlos.
Caso práctico: Migrar un sitio web completo entre servidores
Imagina que quieres mover tu web de un servidor a otro. Con SSH es muy fácil:
-
En el servidor de origen, comprime tu carpeta
public_html:cd ~/ tar -czvf mi-web.tar.gz public_html/ -
En tu PC local, descarga el archivo comprimido:
scp usuario@servidor-origen.com:~/mi-web.tar.gz . -
En tu PC local, sube el archivo al nuevo servidor:
scp mi-web.tar.gz usuario@servidor-destino.com:~/ -
Conéctate al servidor de destino y descomprime el archivo en la ubicación correcta:
ssh usuario@servidor-destino.com cd ~/ tar -xzvf mi-web.tar.gz -
Mueve el contenido a la carpeta
public_html(si no existe, créala):mv public_html/* public_html/.[!.]* /home/usuario/public_html/ 2>/dev/null; cp -r public_html/. /home/usuario/public_html/
Esto es solo un ejemplo, pero te da una idea del poder y control que tienes con la terminal.
[INFO] Si tu proveedor usa un panel alternativo como Syspanel (antes conocido como HestiaCP), el acceso por SSH funciona de forma muy similar. La principal diferencia es que el puerto de acceso al panel web es el 2106, pero el SSH seguirá usando el puerto 22 (o el que tu proveedor indique). Los comandos
scpyrsyncson universales en Linux, así que todo lo aprendido aquí aplica perfectamente.
Preguntas frecuentes (FAQ) sobre SSH y DirectAdmin
¿Puedo usar SSH si soy un usuario de hosting compartido?
Depende de tu proveedor. Muchos ofrecen acceso shell en planes compartidos, pero a veces está restringido por seguridad. Si no puedes conectarte, contacta con tu soporte para habilitarlo.
¿Es seguro transferir archivos con SCP o RSYNC?
Sí, es muy seguro. Ambos comandos cifran el tráfico con la misma tecnología que SSH. Tus datos viajan protegidos de extremo a extremo.
¿Qué pasa si olvido mi contraseña SSH?
Puedes cambiarla desde DirectAdmin. Ve a "Cuenta" > "Cambiar Contraseña" o contacta con tu proveedor para restablecerla.
¿Puedo usar SFTP en lugar de SCP o RSYNC?
Sí, SFTP es otra alternativa. Es un protocolo de transferencia de archivos que también usa SSH. Puedes usar programas como FileZilla o WinSCP que lo soportan, y es más visual si no te sientes cómodo con la línea de comandos.
¿Cómo puedo saber si tengo acceso shell habilitado?
Simplemente intenta conectarte por SSH. Si te da un error de "Permiso denegado" o "Acceso restringido", es que no está habilitado. Revisa la sección "Acceso Shell" en tu panel de DirectAdmin.
Conclusión: Domina SSH y olvídate de las limitaciones
Aprender a usar ssh directadmin para transferir archivos es una habilidad que te ahorrará muchísimo tiempo y dolores de cabeza. Los comandos scp y rsync son herramientas poderosas que todo administrador de servidores debería conocer. Con la práctica, verás que la terminal se convierte en tu mejor aliada para gestionar tu hosting de manera eficiente y profesional.
Empieza con pequeños pasos: sube un archivo de prueba, sincroniza una carpeta pequeña y, poco a poco, te sentirás más cómodo. Si te atascas, recuerda que man scp o man rsync te mostrarán el manual completo de cada comando.
[TIP] Para tareas repetitivas, como hacer copias de seguridad diarias, puedes automatizar los comandos
rsynccon cron jobs (tareas programadas) en tu servidor. Así, la transferencia de archivos se hará sola, sin que tengas que intervenir.
¡Ya tienes el conocimiento! Ahora es el momento de ponerlo en práctica. Tu servidor te lo agradecerá.
