Linux / Comando ssh: conectarse a un servidor y ejecutar comandos con OpenSSH
El cliente ssh de OpenSSH permite iniciar sesión o ejecutar órdenes en un equipo remoto mediante Secure Shell (SSH), un protocolo cifrado. Indique el servidor y la cuenta remota y verifique la huella de la clave del servidor antes de aceptar una identidad que aún no conoce.
SSH cifra el contenido de la transmisión y verifica la identidad del servidor mediante la clave del host. Para la autenticación del usuario se pueden usar la contraseña o el método de clave pública. El usuario de user@host es la cuenta remota y, si se proporciona un comando remoto como argumento, se ejecuta ese comando en lugar de entrar en un shell interactivo y luego se cierra. Cambie server.example.com y la cuenta del ejemplo por valores reales.
Sintaxis básica
ssh [opciones] [usuario@]host [comando_remoto]
La implementación instalada y las opciones pueden variar según la distribución. Verifique la descripción de man ssh en el sistema actual.
Ejemplos de uso
Inicio de sesión remoto
Necesita una cuenta autorizada, un servicio SSH activo en el servidor y acceso al puerto correspondiente. Sustituya los dominios y usuarios de ejemplo por los reales. Si aparece una clave de servidor desconocida, compare su huella por un canal confiable e independiente antes de aceptarla.
ssh alice@server.example.com
Conexión a otro puerto SSH
Si el servidor escucha en el puerto 2222 en lugar del puerto SSH predeterminado 22, indíquelo con -p minúscula. Utilice el puerto real configurado para su servidor.
ssh -p 2222 alice@server.example.com
Ejecutar un comando remoto una vez
Compruebe el nombre del host del sistema remoto sin entrar en un shell interactivo.
ssh alice@server.example.com hostname
Secuencia de verificación al conectar por primera vez
Si se trata de un servidor al que se accede por primera vez como ssh, puede aparecer un mensaje de verificación de la huella de la clave del host. Solo apruebe después de compararlo con la huella proporcionada por el administrador del servidor.
ssh user@server.example.test
Formato del mensaje que puede aparecer al conectarse por primera vez:
The authenticity of host 'server.example.test' can't be established.
ED25519 key fingerprint is SHA256:...
Are you sure you want to continue connecting (yes/no/[fingerprint])?
Aquí, al ingresar yes, la clave del host se registrará localmente en known_hosts. Si aparece un aviso de que la clave ha cambiado en la próxima conexión, no elimine el registro sin más; primero verifique la reinstalación del servidor o el reemplazo de la clave. Cuando se utiliza la autenticación por clave pública en lugar de la autenticación por contraseña, gestione de manera segura los permisos de acceso y la copia de seguridad del archivo de clave privada.
Si falla la conexión, verifique por separado la resolución del nombre DNS, el alcance del puerto TCP, el servicio SSH del servidor y las etapas de autenticación. ssh -v usuario@host puede dar pistas sobre dónde se detiene la negociación y la autenticación, pero al compartir registros detallados, pueden exponerse el nombre del host y la información del usuario. Si hay un error de permisos, también revise los permisos del archivo de clave privada.
Opciones y formatos principales
| Opción o formato | Descripción |
|---|---|
-p puerto |
Especifique el puerto del servidor SSH remoto. |
-i archivo_de_clave |
Especifique el archivo de clave privada a utilizar. |
-J host_de_salto |
Conéctese al destino mediante un host de salto. |
-L puerto_local:host:puerto |
Configura un reenvío local hacia un host y puerto alcanzables desde el servidor SSH remoto. |
-N |
No ejecuta comandos remotos. Se utiliza principalmente para el reenvío. |
-v |
Muestra detalladamente el proceso de conexión y autenticación. |
Precauciones al usar
No apruebe automáticamente la huella de la clave del host que aparece en la primera conexión. Verifíquela con la huella proporcionada por el administrador a través de un canal separado, y si la advertencia cambia, compruebe la posibilidad de un ataque de intermediario o el reemplazo de la clave del servidor. No comparta la clave privada con otras personas y restrinja los permisos de acceso. El reenvío puede alterar el alcance de exposición de los servicios locales, así que verifique la dirección de enlace.
Preguntas frecuentes
¿Qué hacer si aparece una advertencia de que la clave del servidor ha cambiado al conectarse por ssh?
Podría deberse a la reinstalación del servidor o al reemplazo de la clave, pero también existe la posibilidad de un ataque. Antes de verificar la nueva huella con un administrador de manera independiente, no elimine la clave existente ni desactive la verificación.
Documentación oficial
La operación exacta de las opciones y las diferencias según la implementación se pueden consultar en la documentación oficial de ssh.




