{"id":38628,"date":"2024-03-20T19:09:58","date_gmt":"2024-03-20T18:09:58","guid":{"rendered":"\/tutoriales\/?p=38628"},"modified":"2026-08-26T09:46:41","modified_gmt":"2026-08-26T07:46:41","slug":"como-configurar-claves-ssh","status":"publish","type":"post","link":"\/mx\/tutoriales\/como-configurar-claves-ssh\/","title":{"rendered":"C\u00f3mo configurar claves SSH para una autenticaci\u00f3n segura en el servidor"},"content":{"rendered":"<p class=\"wp-block-paragraph\">Las claves SSH te permiten autenticarte en un servidor remoto mediante un par de claves, una p&uacute;blica y otra privada, en lugar de usar una contrase&ntilde;a. De este modo, el acceso remoto es m&aacute;s seguro y, si utilizas ssh-agent, no tendr&aacute;s que introducir la contrase&ntilde;a cada vez que te conectes.<\/p><p class=\"wp-block-paragraph\">La clave privada permanece en tu ordenador, mientras que la clave p&uacute;blica se almacena en el servidor y se utiliza para verificar la conexi&oacute;n.<\/p><p class=\"wp-block-paragraph\">Para configurar las claves SSH, sigue estos pasos:<\/p><ol class=\"wp-block-list\">\n<li>Comprueba los requisitos previos.<\/li>\n\n\n\n<li>Genera un par de claves SSH.<\/li>\n\n\n\n<li>Elige d&oacute;nde guardar las claves y a&ntilde;ade una frase de contrase&ntilde;a.<\/li>\n\n\n\n<li>A&ntilde;ade la clave p&uacute;blica al servidor o a hPanel.<\/li>\n\n\n\n<li>Prueba la autenticaci&oacute;n con clave SSH.<\/li>\n\n\n\n<li>Desactiva la autenticaci&oacute;n con contrase&ntilde;a cuando hayas comprobado que puedes iniciar sesi&oacute;n con la clave SSH.<\/li>\n<\/ol><h2 class=\"wp-block-heading\" id=\"h-1-comprueba-los-requisitos-previos\">1. Comprueba los requisitos previos<\/h2><p class=\"wp-block-paragraph\">Antes de generar las claves SSH, necesitas lo siguiente:<\/p><ul class=\"wp-block-list\">\n<li><strong>Un ordenador con acceso a un terminal.<\/strong> Los usuarios de macOS y Linux pueden utilizar el terminal integrado. En Windows, puedes utilizar PowerShell, el Subsistema de Windows para Linux (WSL), Git Bash o <a href=\"\/mx\/tutoriales\/conectar-usando-terminal-putty-ssh\/\">PuTTY para SSH<\/a>.<\/li>\n\n\n\n<li><strong>El nombre de usuario y la direcci&oacute;n IP del servidor remoto.<\/strong> Necesitar&aacute;s ambos datos para copiar la clave p&uacute;blica al servidor y probar la conexi&oacute;n.<\/li>\n\n\n\n<li><strong>Acceso inicial al servidor.<\/strong> Puedes iniciar sesi&oacute;n con una contrase&ntilde;a, acceder mediante la consola o utilizar hPanel. Necesitas alg&uacute;n m&eacute;todo de acceso para a&ntilde;adir la clave p&uacute;blica antes de cambiar a la autenticaci&oacute;n mediante clave.<\/li>\n<\/ul><p class=\"wp-block-paragraph\">Si tienes pensado desactivar la autenticaci&oacute;n con contrase&ntilde;a despu&eacute;s de configurar las claves SSH, tambi&eacute;n necesitar&aacute;s permisos para editar la configuraci&oacute;n SSH del servidor.<\/p><p>    <div class=\"announcement-block announcement-block--warning\">\n        <span class=\"announcement-block__heading\">\n            <svg width=\"24\" height=\"26\" viewBox=\"0 0 24 26\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n                d=\"M12 23.5C17.799 23.5 22.5 18.799 22.5 13C22.5 7.20101 17.799 2.5 12 2.5C6.20101 2.5 1.5 7.20101 1.5 13C1.5 18.799 6.20101 23.5 12 23.5ZM13.637 8.65198C13.637 7.74791 12.9041 7.01501 12 7.01501C11.0959 7.01501 10.363 7.74791 10.363 8.65198C10.5335 10.5375 10.875 14.383 10.875 14.383C10.875 15.0043 11.3787 15.508 12 15.508C12.6213 15.508 13.125 15.0043 13.125 14.383V14.38L13.637 8.65198ZM11.9927 16.714C11.3714 16.714 10.8677 17.2177 10.8677 17.839C10.8677 18.4603 11.3714 18.964 11.9927 18.964H12.0073C12.6286 18.964 13.1323 18.4603 13.1323 17.839C13.1323 17.2177 12.6286 16.714 12.0073 16.714H11.9927Z\"\n                fill=\"#BE1025\"\/>\n            <\/svg>\n            Warning        <\/span>\n        <p class=\"announcement-block__content\">\n            Mant&eacute;n abierta la sesi&oacute;n SSH actual mientras cambias la configuraci&oacute;n de autenticaci&oacute;n. Si la nueva clave no funciona y ya has cerrado la &uacute;nica sesi&oacute;n que ten&iacute;as abierta, podr&iacute;as quedarte sin acceso al servidor.        <\/p>\n    <\/div>\n\n    \n\n\n\n<\/p><h2 class=\"wp-block-heading\" id=\"h-2-genera-un-par-de-claves-ssh\">2. Genera un par de claves SSH<\/h2><p class=\"wp-block-paragraph\">Al generar las claves SSH, se crean dos archivos: uno contiene la clave privada y otro, la clave p&uacute;blica. Ed25519 es el algoritmo recomendado, ya que ofrece un alto nivel de seguridad con una clave compacta de 256 bits y es compatible con todos los sistemas modernos.<\/p><p class=\"wp-block-paragraph\">Si tu servidor o cliente es antiguo y no admite Ed25519, utiliza RSA con una clave de 4096 bits.<\/p><p class=\"wp-block-paragraph\">Abre el terminal y ejecuta:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ssh-keygen -t ed25519<\/pre><div class=\"wp-block-image wp-block-image aligncenter size-large\"><figure class=\"wp-lightbox-container\" data-wp-context='{\"imageId\":\"6aa2c0b6436ab\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6aa2c0b6436ab\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2026\/08\/17794159178940-te-cuento.png\/public\" alt=\"Terminal output of the ssh-keygen command showing a generated Ed25519 key pair, including the fingerprint and randomart image.\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><p class=\"wp-block-paragraph\">Para RSA, utiliza:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ssh-keygen -t rsa -b 4096<\/pre><p class=\"wp-block-paragraph\">En el resto de este tutorial utilizaremos los nombres de archivo de Ed25519. Si has generado una clave RSA, sustituye <strong>id_ed25519<\/strong> por <strong>id_rsa<\/strong>.<\/p><p class=\"wp-block-paragraph\">Tambi&eacute;n puedes a&ntilde;adir un comentario para identificar la clave, algo &uacute;til si gestionas varias claves para distintos servidores o cuentas:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ssh-keygen -t ed25519 -C \"tu-etiqueta\"<\/pre><p class=\"wp-block-paragraph\">Sustituye <strong>tu-etiqueta<\/strong> por un identificador f&aacute;cil de reconocer, como el nombre de un servidor o proyecto.<\/p><p><div class=\"announcement-block announcement-block--important\">\n            <span class=\"announcement-block__heading\">\n                <svg width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                    <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n                          d=\"M12 22.5C17.799 22.5 22.5 17.799 22.5 12C22.5 6.20101 17.799 1.5 12 1.5C6.20101 1.5 1.5 6.20101 1.5 12C1.5 17.799 6.20101 22.5 12 22.5ZM13.637 7.65198C13.637 6.74791 12.9041 6.01501 12 6.01501C11.0959 6.01501 10.363 6.74791 10.363 7.65198C10.5335 9.53749 10.875 13.383 10.875 13.383C10.875 14.0043 11.3787 14.508 12 14.508C12.6213 14.508 13.125 14.0043 13.125 13.383V13.38L13.637 7.65198ZM11.9927 15.714C11.3714 15.714 10.8677 16.2177 10.8677 16.839C10.8677 17.4603 11.3714 17.964 11.9927 17.964H12.0073C12.6286 17.964 13.1323 17.4603 13.1323 16.839C13.1323 16.2177 12.6286 15.714 12.0073 15.714H11.9927Z\"\n                          fill=\"#FEA419\"\/>\n                <\/svg>\n                Important\n            <\/span>\n            <p class=\"announcement-block__content\">\n                PuTTY utiliza su propio formato de clave y generador. Si utilizas PuTTY en Windows, consulta nuestra gu&iacute;a para <a href=\"\/mx\/tutoriales\/como-generar-claves-ssh-en-putty\/\">generar claves SSH con PuTTY<\/a>.\n            <\/p><\/div>\n\n\n\n<\/p><h2 class=\"wp-block-heading\" id=\"h-3-elige-donde-guardar-las-claves-y-anade-una-frase-de-contrasena\">3. Elige d&oacute;nde guardar las claves y a&ntilde;ade una frase de contrase&ntilde;a<\/h2><p class=\"wp-block-paragraph\">Despu&eacute;s de ejecutar <strong>ssh-keygen<\/strong>, el comando te preguntar&aacute; d&oacute;nde quieres guardar la clave:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Enter file in which to save the key (\/home\/username\/.ssh\/id_ed25519):<\/pre><p class=\"wp-block-paragraph\">Pulsa <strong>Intro<\/strong> para guardarla en el directorio predeterminado <strong>~\/.ssh<\/strong> o introduce una ruta personalizada si gestionas varias claves.<\/p><p>    <div class=\"announcement-block announcement-block--warning\">\n        <span class=\"announcement-block__heading\">\n            <svg width=\"24\" height=\"26\" viewBox=\"0 0 24 26\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n                d=\"M12 23.5C17.799 23.5 22.5 18.799 22.5 13C22.5 7.20101 17.799 2.5 12 2.5C6.20101 2.5 1.5 7.20101 1.5 13C1.5 18.799 6.20101 23.5 12 23.5ZM13.637 8.65198C13.637 7.74791 12.9041 7.01501 12 7.01501C11.0959 7.01501 10.363 7.74791 10.363 8.65198C10.5335 10.5375 10.875 14.383 10.875 14.383C10.875 15.0043 11.3787 15.508 12 15.508C12.6213 15.508 13.125 15.0043 13.125 14.383V14.38L13.637 8.65198ZM11.9927 16.714C11.3714 16.714 10.8677 17.2177 10.8677 17.839C10.8677 18.4603 11.3714 18.964 11.9927 18.964H12.0073C12.6286 18.964 13.1323 18.4603 13.1323 17.839C13.1323 17.2177 12.6286 16.714 12.0073 16.714H11.9927Z\"\n                fill=\"#BE1025\"\/>\n            <\/svg>\n            Warning        <\/span>\n        <p class=\"announcement-block__content\">\n            Si especificas un nombre de archivo que ya existe, <strong>ssh-keygen<\/strong> lo sobrescribir&aacute;. Antes de continuar, aseg&uacute;rate de que la clave existente ya no se utiliza.        <\/p>\n    <\/div>\n\n    \n\n\n\n<\/p><p class=\"wp-block-paragraph\">A continuaci&oacute;n, el comando te pedir&aacute; una frase de contrase&ntilde;a:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Enter passphrase (empty for no passphrase):<\/pre><p class=\"wp-block-paragraph\">La frase de contrase&ntilde;a es opcional, pero es muy recomendable utilizar una. Sirve para cifrar la clave privada almacenada en el disco. As&iacute;, aunque alguien consiga acceder a tu ordenador, no podr&aacute; utilizar la clave sin conocer la frase de contrase&ntilde;a.<\/p><p class=\"wp-block-paragraph\">Elige una frase larga y &uacute;nica. Una combinaci&oacute;n de palabras que no guarden relaci&oacute;n entre s&iacute; es una buena opci&oacute;n.<\/p><p class=\"wp-block-paragraph\">Introduce la frase de contrase&ntilde;a dos veces para confirmarla. El comando mostrar&aacute; una huella digital y una imagen &ldquo;randomart&rdquo; que confirman que se han creado las claves.<\/p><p class=\"wp-block-paragraph\">Los dos archivos se guardar&aacute;n en la ubicaci&oacute;n especificada. El de la clave p&uacute;blica tiene la extensi&oacute;n <strong>.pub<\/strong>, por ejemplo, <strong>id_ed25519.pub<\/strong>. El archivo de la clave privada no tiene extensi&oacute;n.<\/p><h2 class=\"wp-block-heading\" id=\"h-4-copia-la-clave-publica-al-servidor-remoto\">4. Copia la clave p&uacute;blica al servidor remoto<\/h2><p class=\"wp-block-paragraph\">Para que la autenticaci&oacute;n con clave SSH funcione, la clave p&uacute;blica debe estar en el servidor. Este la utiliza para comprobar que tu ordenador tiene la clave privada correspondiente. Copia &uacute;nicamente la clave p&uacute;blica al servidor. Nunca copies el archivo de la clave privada.<\/p><p class=\"wp-block-paragraph\">Puedes hacerlo de tres formas.<\/p><p class=\"wp-block-paragraph\"><strong>Opci&oacute;n 1: A&ntilde;ade la clave mediante hPanel<\/strong><\/p><p class=\"wp-block-paragraph\">Si utilizas un VPS de Hostinger, puedes a&ntilde;adir la clave p&uacute;blica directamente desde hPanel:<\/p><ol class=\"wp-block-list\">\n<li>Abre el archivo <strong>id_ed25519.pub<\/strong> en un editor de texto y copia su contenido.<\/li>\n\n\n\n<li>Inicia sesi&oacute;n en hPanel y ve a <strong>VPS<\/strong> &rarr; tu servidor &rarr; <strong>Ajustes<\/strong> &rarr; <strong>Claves SSH<\/strong>.<\/li>\n<\/ol><div class=\"wp-block-image wp-block-image aligncenter size-large\"><figure class=\"wp-lightbox-container\" data-wp-context='{\"imageId\":\"6aa2c0b645cdb\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6aa2c0b645cdb\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2026\/08\/17794159245200-inform.png\/public\" alt=\"The SSH keys tab under VPS Settings in hPanel, showing the option to add an SSH key to the account.\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><ol start=\"3\" class=\"wp-block-list\">\n<li>Haz clic en <strong>+ Clave SSH<\/strong>, pega la clave p&uacute;blica en el campo <strong>Contenido de la clave SSH<\/strong> y haz clic en <strong>Guardar<\/strong>.<\/li>\n<\/ol><div class=\"wp-block-image wp-block-image aligncenter size-large\"><figure class=\"wp-lightbox-container\" data-wp-context='{\"imageId\":\"6aa2c0b646832\"}' data-wp-interactive=\"core\/image\" data-wp-key=\"6aa2c0b646832\"><img decoding=\"async\" data-wp-class--hide=\"state.isContentHidden\" data-wp-class--show=\"state.isContentVisible\" data-wp-init=\"callbacks.setButtonStyles\" data-wp-on--click=\"actions.showLightbox\" data-wp-on--load=\"callbacks.setButtonStyles\" data-wp-on--pointerdown=\"actions.preloadImage\" data-wp-on--pointerenter=\"actions.preloadImageWithDelay\" data-wp-on--pointerleave=\"actions.cancelPreload\" data-wp-on-window--resize=\"callbacks.setButtonStyles\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/32\/2026\/08\/1779415929396-0-te-lo-cuento.png\/public\" alt=\"The Add SSH Key form in hPanel showing the SSH key content field where users paste their public key.\"><button class=\"lightbox-trigger\" type=\"button\" aria-haspopup=\"dialog\" data-wp-bind--aria-label=\"state.thisImage.triggerButtonAriaLabel\" data-wp-init=\"callbacks.initTriggerButton\" data-wp-on--click=\"actions.showLightbox\" data-wp-style--right=\"state.thisImage.buttonRight\" data-wp-style--top=\"state.thisImage.buttonTop\">\n\t\t\t<svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"12\" height=\"12\" fill=\"none\" viewbox=\"0 0 12 12\">\n\t\t\t\t<path fill=\"#fff\" d=\"M2 0a2 2 0 0 0-2 2v2h1.5V2a.5.5 0 0 1 .5-.5h2V0H2Zm2 10.5H2a.5.5 0 0 1-.5-.5V8H0v2a2 2 0 0 0 2 2h2v-1.5ZM8 12v-1.5h2a.5.5 0 0 0 .5-.5V8H12v2a2 2 0 0 1-2 2H8Zm2-12a2 2 0 0 1 2 2v2h-1.5V2a.5.5 0 0 0-.5-.5H8V0h2Z\"><\/path>\n\t\t\t<\/svg>\n\t\t<\/button><\/figure><\/div><figure class=\"wp-block-image size-large\"><a href=\"\/mx\/servidor-vps\" target=\"_blank\" rel=\"noreferrer noopener\"><img decoding=\"async\" width=\"1024\" height=\"300\" src=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/39\/2023\/02\/ES-VPS-hosting_in-text-banner.png\/w=1024,h=1024,fit=scale-down\" alt=\"\" class=\"wp-image-29287\" srcset=\"https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/39\/2023\/02\/ES-VPS-hosting_in-text-banner.png\/w=1024,fit=scale-down 1024w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/39\/2023\/02\/ES-VPS-hosting_in-text-banner.png\/w=300,fit=scale-down 300w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/39\/2023\/02\/ES-VPS-hosting_in-text-banner.png\/w=150,fit=scale-down 150w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/39\/2023\/02\/ES-VPS-hosting_in-text-banner.png\/w=768,fit=scale-down 768w, https:\/\/imagedelivery.net\/LqiWLm-3MGbYHtFuUbcBtA\/wp-content\/uploads\/sites\/39\/2023\/02\/ES-VPS-hosting_in-text-banner.png\/w=1536,fit=scale-down 1536w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><\/figure><p class=\"wp-block-paragraph\"><strong>Opci&oacute;n 2: Utiliza ssh-copy-id<\/strong><\/p><p class=\"wp-block-paragraph\"><strong>ssh-copy-id<\/strong> copia autom&aacute;ticamente la clave p&uacute;blica al servidor mediante una conexi&oacute;n existente con contrase&ntilde;a, lo que permite <a href=\"\/mx\/tutoriales\/configurar-ssh-sin-contrasena-linux\/\">iniciar sesi&oacute;n en SSH sin contrase&ntilde;a<\/a>:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ssh-copy-id username@192.0.2.1<\/pre><p class=\"wp-block-paragraph\">Sustituye <strong>username<\/strong> por el nombre de usuario del servidor y <strong>192.0.2.1<\/strong> por su direcci&oacute;n IP. Introduce la contrase&ntilde;a cuando se te solicite. Si la transferencia se completa correctamente, aparecer&aacute; un mensaje como este:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Number of key(s) added: 1<\/pre><p class=\"wp-block-paragraph\"><strong>Opci&oacute;n 3: A&ntilde;ade la clave manualmente<\/strong><\/p><p class=\"wp-block-paragraph\">Si <strong>ssh-copy-id<\/strong> no est&aacute; disponible, inicia sesi&oacute;n en el servidor con tu contrase&ntilde;a y a&ntilde;ade la clave p&uacute;blica manualmente:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">mkdir -p ~\/.ssh chmod 700 ~\/.ssh echo \"your-public-key-content\" &gt;&gt; ~\/.ssh\/authorized_keys chmod 600 ~\/.ssh\/authorized_keys<\/pre><p class=\"wp-block-paragraph\">Sustituye <strong>your-public-key-content<\/strong> por todo el contenido del archivo <strong>.pub<\/strong>.<\/p><h2 class=\"wp-block-heading\" id=\"h-5-prueba-la-autenticacion-con-clave-ssh\">5. Prueba la autenticaci&oacute;n con clave SSH<\/h2><p class=\"wp-block-paragraph\">Comprueba la conexi&oacute;n antes de modificar cualquier otro ajuste SSH del servidor:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ssh username@192.0.2.1<\/pre><p class=\"wp-block-paragraph\">Si la conexi&oacute;n se establece correctamente, acceder&aacute;s directamente a la l&iacute;nea de comandos del servidor o se te pedir&aacute; la frase de contrase&ntilde;a de la clave privada, si has configurado una. Si no se te solicita la contrase&ntilde;a de la cuenta, la autenticaci&oacute;n con clave SSH funciona correctamente.<\/p><p class=\"wp-block-paragraph\">Si el servidor sigue pidi&eacute;ndote la contrase&ntilde;a, estas son las causas m&aacute;s probables:<\/p><ul class=\"wp-block-list\">\n<li>La clave p&uacute;blica no se ha a&ntilde;adido a la cuenta de usuario correcta del servidor.<\/li>\n\n\n\n<li>Se est&aacute; utilizando una clave privada incorrecta en el ordenador.<\/li>\n\n\n\n<li>La autenticaci&oacute;n con contrase&ntilde;a sigue habilitada como m&eacute;todo alternativo.<\/li>\n\n\n\n<li>Los permisos de <strong>~\/.ssh<\/strong> o <strong>authorized_keys<\/strong> son demasiado permisivos.<\/li>\n<\/ul><p class=\"wp-block-paragraph\">Comprueba estos puntos antes de continuar. Si aparece el error &ldquo;Permission denied&rdquo; o el servidor sigue solicitando la contrase&ntilde;a, es probable que el archivo <strong>authorized_keys<\/strong> est&eacute; mal configurado o que los permisos de los archivos del servidor sean incorrectos.<\/p><h2 class=\"wp-block-heading\" id=\"h-6-desactiva-la-autenticacion-con-contrasena-cuando-las-claves-ssh-funcionen\">6. Desactiva la autenticaci&oacute;n con contrase&ntilde;a cuando las claves SSH funcionen<\/h2><p class=\"wp-block-paragraph\">Cuando hayas comprobado que puedes iniciar sesi&oacute;n con una clave SSH, <a href=\"\/tutorials\/how-to-disable-ssh-password-login-on-vps\/\">desactivar la autenticaci&oacute;n con contrase&ntilde;a en SSH<\/a> elimina uno de los vectores de ataque m&aacute;s habituales contra un servidor. Al deshabilitar este m&eacute;todo de autenticaci&oacute;n, los ataques de fuerza bruta y de credential stuffing ya no pueden dirigirse contra las contrase&ntilde;as de acceso SSH.<\/p><p>    <div class=\"announcement-block announcement-block--warning\">\n        <span class=\"announcement-block__heading\">\n            <svg width=\"24\" height=\"26\" viewBox=\"0 0 24 26\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\n                <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\n                d=\"M12 23.5C17.799 23.5 22.5 18.799 22.5 13C22.5 7.20101 17.799 2.5 12 2.5C6.20101 2.5 1.5 7.20101 1.5 13C1.5 18.799 6.20101 23.5 12 23.5ZM13.637 8.65198C13.637 7.74791 12.9041 7.01501 12 7.01501C11.0959 7.01501 10.363 7.74791 10.363 8.65198C10.5335 10.5375 10.875 14.383 10.875 14.383C10.875 15.0043 11.3787 15.508 12 15.508C12.6213 15.508 13.125 15.0043 13.125 14.383V14.38L13.637 8.65198ZM11.9927 16.714C11.3714 16.714 10.8677 17.2177 10.8677 17.839C10.8677 18.4603 11.3714 18.964 11.9927 18.964H12.0073C12.6286 18.964 13.1323 18.4603 13.1323 17.839C13.1323 17.2177 12.6286 16.714 12.0073 16.714H11.9927Z\"\n                fill=\"#BE1025\"\/>\n            <\/svg>\n            Warning        <\/span>\n        <p class=\"announcement-block__content\">\n            Hazlo &uacute;nicamente despu&eacute;s de probar el inicio de sesi&oacute;n con clave SSH en otra sesi&oacute;n. Si desactivas la autenticaci&oacute;n con contrase&ntilde;a y la clave no funciona, perder&aacute;s el acceso al servidor. Mant&eacute;n abierta al menos una sesi&oacute;n SSH para evitar quedarte sin acceso.        <\/p>\n    <\/div>\n\n    \n\n\n\n<\/p><p class=\"wp-block-paragraph\">Para hacerlo, edita el archivo <strong>sshd_config<\/strong> del servidor, establece <strong>PasswordAuthentication<\/strong> en <strong>no<\/strong> y recarga el servicio SSH para aplicar el cambio.<\/p><h2 class=\"wp-block-heading\" id=\"h-como-gestionar-las-claves-ssh-de-forma-segura\">C&oacute;mo gestionar las claves SSH de forma segura<\/h2><p class=\"wp-block-paragraph\">Gestionar las claves SSH de forma segura implica evitar introducir la frase de contrase&ntilde;a cada vez que te conectas, organizar varias claves para distintos servidores y actuar con rapidez si pierdes una clave o esta se ve comprometida.<\/p><h3 class=\"wp-block-heading\">Utiliza ssh-agent para gestionar claves protegidas con una frase de contrase&ntilde;a<\/h3><p class=\"wp-block-paragraph\"><strong>ssh-agent<\/strong> se ejecuta en segundo plano y mantiene las claves privadas desbloqueadas durante la sesi&oacute;n. Una vez que a&ntilde;adas una clave al agente, no tendr&aacute;s que introducir la frase de contrase&ntilde;a cada vez que te conectes a un servidor.<\/p><p class=\"wp-block-paragraph\">Para iniciar el agente y a&ntilde;adir una clave:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">eval \"$(ssh-agent -s)\" ssh-add ~\/.ssh\/id_ed25519<\/pre><p class=\"wp-block-paragraph\">Si la clave privada se encuentra en otra ubicaci&oacute;n, sustituye <strong>~\/.ssh\/id_ed25519<\/strong> por la ruta correspondiente. Para comprobar que se ha a&ntilde;adido la clave, ejecuta:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">ssh-add -l<\/pre><p class=\"wp-block-paragraph\">Este comando muestra todas las claves que gestiona el agente en ese momento.<\/p><p class=\"wp-block-paragraph\">Los comandos anteriores funcionan en cualquier distribuci&oacute;n de Linux. En otros sistemas operativos:<\/p><ul class=\"wp-block-list\">\n<li><strong>macOS<\/strong> se integra con Keychain. A&ntilde;ade <strong>&ndash;apple-use-keychain<\/strong> al comando <strong>ssh-add<\/strong> para conservar la frase de contrase&ntilde;a despu&eacute;s de reiniciar el sistema.<\/li>\n\n\n\n<li><strong>Si utilizas PuTTY en Windows<\/strong>, puedes usar Pageant, el agente de claves de PuTTY, disponible en la p&aacute;gina de descargas de PuTTY.<\/li>\n<\/ul><h3 class=\"wp-block-heading\">Utiliza el archivo de configuraci&oacute;n de SSH para varios servidores<\/h3><p class=\"wp-block-paragraph\">El archivo de configuraci&oacute;n de SSH te permite definir en un &uacute;nico lugar la direcci&oacute;n, el nombre de usuario, el puerto y la clave privada de cada servidor. As&iacute; no tendr&aacute;s que introducir estos datos cada vez que te conectes.<\/p><p class=\"wp-block-paragraph\">El archivo se encuentra en <strong>~\/.ssh\/config<\/strong>. Esta es una entrada de ejemplo:<\/p><pre class=\"EnlighterJSRAW\" data-enlighter-language=\"generic\" data-enlighter-theme=\"\" data-enlighter-highlight=\"\" data-enlighter-linenumbers=\"\" data-enlighter-lineoffset=\"\" data-enlighter-title=\"\" data-enlighter-group=\"\">Host my-server\nHostName 192.0.2.1\nUser username\nIdentityFile ~\/.ssh\/id_ed25519\nPort 22<\/pre><p class=\"wp-block-paragraph\">Con esta configuraci&oacute;n, <strong>ssh my-server<\/strong> establece la conexi&oacute;n utilizando los ajustes anteriores. Puedes a&ntilde;adir tantas entradas como necesites, una por cada servidor o proyecto.<\/p><p class=\"wp-block-paragraph\">Se recomienda utilizar un par de claves distinto para cada servidor. Si una clave privada se ve comprometida, solo quedar&aacute; afectado el servidor asociado a ella, no todos los servidores que gestionas.<\/p><h3 class=\"wp-block-heading\">&iquest;Qu&eacute; debes hacer si pierdes una clave SSH o se ve comprometida?<\/h3><p class=\"wp-block-paragraph\">No basta con eliminar la clave privada del ordenador. Si alguien tiene una copia de esa clave privada, podr&aacute; seguir accediendo a cualquier servidor que conf&iacute;e en la clave p&uacute;blica correspondiente.<\/p><p class=\"wp-block-paragraph\">Debes eliminar la clave p&uacute;blica de todos los servidores a los que la hayas a&ntilde;adido:<\/p><ol class=\"wp-block-list\">\n<li>Elimina la clave p&uacute;blica afectada del archivo <strong>authorized_keys<\/strong> del servidor o elim&iacute;nala desde hPanel, en <strong>Ajustes<\/strong> &rarr; <strong>Claves SSH<\/strong>.<\/li>\n\n\n\n<li>Elimina o pon en cuarentena la clave privada expuesta en tu ordenador.<\/li>\n\n\n\n<li>Genera un nuevo par de claves SSH con <strong>ssh-keygen<\/strong>.<\/li>\n\n\n\n<li>A&ntilde;ade la nueva clave p&uacute;blica al servidor mediante hPanel, <strong>ssh-copy-id<\/strong> o editando manualmente <strong>authorized_keys<\/strong>.<\/li>\n\n\n\n<li>Comprueba que la nueva clave funciona antes de cerrar la sesi&oacute;n.<\/li>\n<\/ol><h2 class=\"wp-block-heading\" id=\"h-como-solucionar-problemas-con-la-autenticacion-mediante-clave-ssh\">C&oacute;mo solucionar problemas con la autenticaci&oacute;n mediante clave SSH<\/h2><p class=\"wp-block-paragraph\">La mayor&iacute;a de los problemas de autenticaci&oacute;n con claves SSH se deben a unas pocas causas: permisos incorrectos, claves que no coinciden o cambios de configuraci&oacute;n que todav&iacute;a no se han aplicado.<\/p><figure tabindex=\"0\" class=\"wp-block-table\"><table><thead><tr><th>Problema<\/th><th>Posible causa<\/th><th>Qu&eacute; comprobar<\/th><\/tr><\/thead><tbody><tr><td><strong>El servidor sigue pidiendo la contrase&ntilde;a<\/strong><\/td><td>La clave p&uacute;blica no se ha instalado correctamente o la autenticaci&oacute;n con contrase&ntilde;a sigue habilitada como m&eacute;todo alternativo<\/td><td>Comprueba que la clave p&uacute;blica est&eacute; en <strong>~\/.ssh\/authorized_keys<\/strong> en el servidor<\/td><\/tr><tr><td><strong>Error &ldquo;Permission denied&rdquo;<\/strong><\/td><td>Los permisos de <strong>~\/.ssh<\/strong> o <strong>authorized_keys<\/strong> son incorrectos<\/td><td>Establece los permisos de <strong>~\/.ssh<\/strong> en <strong>700<\/strong> y los de <strong>authorized_keys<\/strong> en <strong>600<\/strong><\/td><\/tr><tr><td><strong>Se utiliza una clave privada incorrecta<\/strong><\/td><td>El cliente SSH utiliza otra clave de forma predeterminada<\/td><td>Ejecuta <strong>ssh -i ~\/.ssh\/id_ed25519 username@192.0.2.1<\/strong> para especificar la clave<\/td><\/tr><tr><td><strong>La clave p&uacute;blica se ha a&ntilde;adido a una cuenta de usuario incorrecta<\/strong><\/td><td>La clave est&aacute; en el archivo <strong>authorized_keys<\/strong> de otro usuario<\/td><td>Comprueba que te conectas con el mismo usuario cuyo archivo <strong>authorized_keys<\/strong> contiene la clave p&uacute;blica<\/td><\/tr><tr><td><strong>El servicio SSH no se ha recargado despu&eacute;s de cambiar la configuraci&oacute;n<\/strong><\/td><td>Los cambios de <strong>sshd_config<\/strong> no se han aplicado<\/td><td>Ejecuta <strong>sudo systemctl reload ssh<\/strong> en Ubuntu\/Debian o <strong>sudo systemctl reload sshd<\/strong> en CentOS\/Rocky Linux\/AlmaLinux para recargar el servicio SSH<\/td><\/tr><tr><td><strong>Problemas con el cortafuegos, el puerto o la direcci&oacute;n IP<\/strong><\/td><td>El puerto 22 est&aacute; bloqueado o la direcci&oacute;n IP es incorrecta<\/td><td>Comprueba las reglas del cortafuegos y confirma que la direcci&oacute;n IP y el puerto SSH del servidor sean correctos. Los errores de <a href=\"\/mx\/tutoriales\/ssh-connection-refused\/\">conexi&oacute;n SSH rechazada<\/a> suelen indicar que el puerto est&aacute; bloqueado o que la direcci&oacute;n IP es incorrecta<\/td><\/tr><\/tbody><\/table><\/figure><h2 class=\"wp-block-heading\" id=\"h-proximos-pasos-tras-configurar-las-claves-ssh\">Pr&oacute;ximos pasos tras configurar las claves SSH<\/h2><p class=\"wp-block-paragraph\">Ahora que utilizas la autenticaci&oacute;n con clave SSH, has desactivado el inicio de sesi&oacute;n con contrase&ntilde;a y tienes las claves organizadas, has reforzado la seguridad del acceso al servidor. La autenticaci&oacute;n con clave SSH es la base, pero dominar el acceso SSH tambi&eacute;n implica familiarizarte con las tareas habituales de administraci&oacute;n de un servidor remoto.<\/p><p class=\"wp-block-paragraph\">A partir de aqu&iacute;, puedes aprender a gestionar archivos, supervisar procesos, administrar permisos de usuario y configurar servicios desde la l&iacute;nea de comandos.<\/p><p class=\"wp-block-paragraph\">Aprender los <a href=\"\/mx\/tutoriales\/comandos-ssh-esenciales\/\">comandos b&aacute;sicos de SSH<\/a> te permitir&aacute; realizar las operaciones que necesitar&aacute;s habitualmente, como navegar por directorios, transferir archivos, comprobar los procesos en ejecuci&oacute;n y gestionar servicios.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Las claves SSH te permiten autenticarte en un servidor remoto mediante un par de claves, una p&uacute;blica y otra privada, en lugar de usar una contrase&ntilde;a. De este modo, el acceso remoto es m&aacute;s seguro y, si utilizas ssh-agent, no tendr&aacute;s que introducir la contrase&ntilde;a cada vez que te conectes. La clave privada permanece en [&#8230;]<\/p>\n<p><a class=\"btn btn-secondary understrap-read-more-link\" href=\"\/mx\/tutoriales\/como-configurar-claves-ssh\/\">Read More&#8230;<\/a><\/p>\n","protected":false},"author":190,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"rank_math_title":"C\u00f3mo configurar claves SSH para acceder a un servidor","rank_math_description":"Aprende a configurar claves SSH paso a paso para acceder a tu servidor de forma segura, gestionar tus claves y solucionar problemas de autenticaci\u00f3n.","rank_math_focus_keyword":"configurar claves ssh","footnotes":""},"categories":[14501],"tags":[],"class_list":["post-38628","post","type-post","status-publish","format-standard","hentry","category-vps"],"hreflangs":[{"locale":"en-US","link":"https:\/\/www.hostinger.com\/tutorials\/how-to-set-up-ssh-keys\/","default":1},{"locale":"pt-BR","link":"https:\/\/www.hostinger.com\/br\/tutoriais\/como-configurar-chaves-ssh\/","default":0},{"locale":"fr-FR","link":"https:\/\/www.hostinger.com\/fr\/tutoriels\/generer-cle-ssh\/","default":0},{"locale":"es-ES","link":"https:\/\/www.hostinger.com\/es\/tutoriales\/como-configurar-claves-ssh","default":0},{"locale":"id-ID","link":"https:\/\/www.hostinger.com\/id\/tutorial\/cara-menggunakan-ssh-keys\/","default":0},{"locale":"en-PH","link":"https:\/\/www.hostinger.com\/ph\/tutorials\/how-to-set-up-ssh-keys\/","default":0},{"locale":"en-MY","link":"https:\/\/www.hostinger.com\/my\/tutorials\/how-to-set-up-ssh-keys\/","default":0},{"locale":"en-GB","link":"https:\/\/www.hostinger.com\/uk\/tutorials\/how-to-set-up-ssh-keys\/","default":0},{"locale":"en-IN","link":"https:\/\/www.hostinger.com\/in\/tutorials\/how-to-set-up-ssh-keys\/","default":0},{"locale":"en-CA","link":"https:\/\/www.hostinger.com\/ca\/tutorials\/how-to-set-up-ssh-keys\/","default":0},{"locale":"en-AU","link":"https:\/\/www.hostinger.com\/au\/tutorials\/how-to-set-up-ssh-keys\/","default":0},{"locale":"en-NG","link":"https:\/\/www.hostinger.com\/ng\/tutorials\/how-to-set-up-ssh-keys\/","default":0},{"locale":"es-AR","link":"https:\/\/www.hostinger.com\/ar\/tutoriales\/como-configurar-claves-ssh","default":0},{"locale":"es-MX","link":"https:\/\/www.hostinger.com\/mx\/tutoriales\/como-configurar-claves-ssh","default":0},{"locale":"es-CO","link":"https:\/\/www.hostinger.com\/co\/tutoriales\/como-configurar-claves-ssh","default":0},{"locale":"pt-PT","link":"https:\/\/www.hostinger.com\/pt\/tutoriais\/como-configurar-chaves-ssh\/","default":0}],"acf":[],"_links":{"self":[{"href":"https:\/\/www.hostinger.com\/mx\/tutoriales\/wp-json\/wp\/v2\/posts\/38628","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hostinger.com\/mx\/tutoriales\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hostinger.com\/mx\/tutoriales\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/mx\/tutoriales\/wp-json\/wp\/v2\/users\/190"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hostinger.com\/mx\/tutoriales\/wp-json\/wp\/v2\/comments?post=38628"}],"version-history":[{"count":11,"href":"https:\/\/www.hostinger.com\/mx\/tutoriales\/wp-json\/wp\/v2\/posts\/38628\/revisions"}],"predecessor-version":[{"id":48000,"href":"https:\/\/www.hostinger.com\/mx\/tutoriales\/wp-json\/wp\/v2\/posts\/38628\/revisions\/48000"}],"wp:attachment":[{"href":"https:\/\/www.hostinger.com\/mx\/tutoriales\/wp-json\/wp\/v2\/media?parent=38628"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hostinger.com\/mx\/tutoriales\/wp-json\/wp\/v2\/categories?post=38628"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hostinger.com\/mx\/tutoriales\/wp-json\/wp\/v2\/tags?post=38628"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}