Cómo ejecutar comandos en servidores remotos con SSH
Secure Shell incluye muchos trucos, muchos de los cuales pueden hacer la vida del administrador mucho más fácil. Un truco de este tipo es la capacidad de ejecutar comandos en servidores remotos sin iniciar sesión.

Qué necesitas
Lo único que necesitas para esto son dos máquinas Linux adicionales, todas las cuales incluyen el servicio openssh-server en funcionamiento (y aceptando conexiones). Si no tienes instalado el daemon SSH, puedes hacerlo desde los repositorios estándar. Por ejemplo, en la plataforma Ubuntu Server, el comando para instalar el daemon SSH es:
sudo apt-get install openssh-server -y
Para CentOS 7, el comando es:
sudo yum install -y openssh-server
Una vez instalado, querrás habilitar el servidor con los comandos:
Cómo cambiar la contraseña de root en un contenedor Dockersudo systemctl start sshd
sudo systemctl enable sshd
Ahora que tienes el daemon SSH en funcionamiento en tus servidores remotos, puedes enviarles comandos. Averigüemos cómo hacerlo.
Ejecutando un comando básico
Obtengamos una lista de archivos en un directorio /etc remoto. Para hacer esto, el comando es:
ssh USUARIO@IP_SERVIDOR "ls /etc"
Donde USUARIO es el nombre de usuario remoto e IP_SERVIDOR es la dirección IP del servidor remoto. Una vez que ingreses con éxito la contraseña del usuario remoto, obtendrás una lista del directorio /etc/ en el servidor remoto.
Muy sencillo.
Cómo acceder a instancias de AWS utilizando SSH y cómo importar tu propio par de clavesEjecutando un comando que requiere sudo
Pero, ¿qué pasa si necesitas ejecutar un comando que requiere privilegios de sudo en un servidor remoto? Si haces eso, verás un error de tty (Figura A).
¿Cómo lo solucionas? Afortunadamente, hay un pequeño interruptor que puedes agregar al comando. Ese interruptor es -t. ¿Qué hace -t? Obliga a la asignación de seudo-terminal, por lo que SSH no tiene idea de que no tiene una terminal local para usar.
Entonces, para ejecutar un comando remoto que requiere privilegios de sudo, el comando ssh se vería así:
ssh -t USUARIO@IP_SERVIDOR "sudo COMANDO"
Supongamos, por ejemplo, que quieres que el usuario "jack" actualice un servidor remoto en 192.168.1.201. Este comando sería:
El auge del cibercrimen en la Dark Web rusa: una mirada al panorama delictivo en líneassh -t [email protected] "sudo apt-get upgrade -y"
Primero se te pedirá la contraseña del usuario para la conexión SSH, seguida de una segunda solicitud para la contraseña del usuario para los privilegios de sudo (Figura B).
El comando se ejecutará como si se hubiera ejecutado en la máquina local (solo que se está ejecutando en la máquina remota). Cuando el comando se complete, volverás al prompt local, listo para seguir trabajando.
Y eso es todo lo que hay que hacer para ejecutar comandos que requieren privilegios de sudo en una máquina remota, a través de SSH.
¡Cuidado! Vulnerabilidad en Google Calendar permite robo de credencialesEn Newsmatic nos especializamos en tecnología de vanguardia, contamos con los artículos mas novedosos sobre Seguridad, allí encontraras muchos artículos similares a Cómo ejecutar comandos en servidores remotos con SSH , tenemos lo ultimo en tecnología 2026.

Artículos Relacionados