{"id":161,"date":"2022-05-04T09:54:07","date_gmt":"2022-05-04T14:54:07","guid":{"rendered":"https:\/\/www.hostinglabs.net\/content\/?post_type=ht_kb&#038;p=161"},"modified":"2022-05-04T12:43:24","modified_gmt":"2022-05-04T17:43:24","slug":"generar-llaves-para-iniciar-sesion-sin-contrasena-en-servidores-linux","status":"publish","type":"ht_kb","link":"https:\/\/hostinglabs.net\/asistencia\/base-de-conocimientos\/generar-llaves-para-iniciar-sesion-sin-contrasena-en-servidores-linux\/","title":{"rendered":"Generar llaves para iniciar sesi\u00f3n sin contrase\u00f1a en servidores Linux"},"content":{"rendered":"\n<p>Si queremos aumentar la seguridad en nuestro servidor para los \u00abinicio de sesi\u00f3n\u00bb, podemos deshabilitar el uso de una clave para el usuario root (u otro usuario) y entablar la conexi\u00f3n mediante llaves, evitando su escritura.<\/p>\n\n\n\n<p>\u00bfPero que son las llaves p\u00fablicas y privadas?<\/p>\n\n\n\n<figure class=\"wp-block-pullquote\"><blockquote><p style=\"font-size: 16px; font-style: italic;\">El uso de llaves p\u00fablicas y privadas es tambi\u00e9n conocido como criptograf\u00eda de dos claves, que consiste en el m\u00e9todo de usar un par de claves para el env\u00edo de informaci\u00f3n. En donde la llave p\u00fablica puede ser compartida pero la llave privada debe ser guardada donde nadie tenga acceso a ella. De esta manera se garantiza que solo el emisor es responsable del uso de esta.<\/p><\/blockquote><\/figure>\n\n\n\n<p>La gu\u00eda est\u00e1 enfocada en clientes que usen como su sistema operativo Linux, por lo tanto solo se explicar\u00e1 el proceso desde la terminal.<\/p>\n\n\n\n<p><em>NOTA: Se recomienda realizar estos pasos durante la configuraci\u00f3n inicial de su servidor.<\/em><\/p>\n\n\n\n<p><strong>Paso 1<\/strong> &#8211;&nbsp;Debemos escribir el siguiente comando en la PC local:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\nssh-keygen -t rsa\n<\/pre><\/div>\n\n\n<p>Para que culmine la generaci\u00f3n de las llaves, el sistema le har\u00e1 algunas preguntas como la ruta donde se almacenar\u00e1n (por defecto en \/home\/user\/.ssh\/id_rsa). La segunda pregunta ser\u00e1 sobre asignar una clave o no. En caso de asignar una clave tendr\u00e1 que escribirla cada vez que use la llave privada, caso contrario solo puede dejarlo en blanco y apretar &#8216;enter&#8217;.<\/p>\n\n\n\n<p>Finalmente obtendr\u00e1 como resultado lo siguiente:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nssh-keygen -t rsa\nGenerating public\/private rsa key pair.\nEnter file in which to save the key (\/home\/user\/.ssh\/id_rsa):\nEnter passphrase (empty for no passphrase):\nEnter same passphrase again:\nYour identification has been saved in \/home\/user\/.ssh\/id_rsa.\nYour public key has been saved in \/home\/user\/.ssh\/id_rsa.pub.\nThe key fingerprint is:\n4a:dd:0a:c6:35:4e:3f:ed:27:38:8c:74:44:4d:93:67 user@pc\nThe key&#039;s randomart image is:\n+--&#x5B; RSA 2048]----+\n| .oo. |\n| . o.E |\n| + . o |\n| . = = . |\n| = S = . |\n| o + = + |\n| . o + o . |\n| . o |\n| |\n+-----------------+\n<\/pre><\/div>\n\n\n<p><strong>Paso 2<\/strong> &#8211;&nbsp;Copiamos la clave publica en nuestro servidor, usando el siguiente comando:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\ncat ~\/.ssh\/id_rsa.pub | ssh root@192.168.1.2 -p 2211 &quot;mkdir -p ~\/.ssh &amp;&amp; cat &gt;&gt; ~\/.ssh\/authorized_keys&quot;\n<\/pre><\/div>\n\n\n<p>Donde recibir\u00e1 un mensaje de confirmaci\u00f3n que se agreg\u00f3 dicha clave.<\/p>\n\n\n\n<p><strong>Paso 3<\/strong> &#8211;&nbsp;Finalmente tenemos que deshabilitar el uso de la contrase\u00f1a para el inicio de sesi\u00f3n a trav\u00e9s de SSH en el servidor remoto, modificando algunos par\u00e1metros en el archivo de configuraci\u00f3n del servicio:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\nnano \/ etc \/ ssh \/ sshd_config\n<\/pre><\/div>\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\nPasswordAuthentication no\nChallengeResponseAuthentication no\nUsePAM no\n<\/pre><\/div>\n\n\n<p><em>NOTA: Aseg\u00farese de efectuar todos los pasos descritos, a lo contrario posterior al reinicio del servicio SSH no podr\u00e1 acceder al servidor usando la contrase\u00f1a para root.<\/em><\/p>\n\n\n\n<p>Luego reiniciaremos el servicio SSH en el servidor remoto para hacer efectivo los nuevos par\u00e1metros:<\/p>\n\n\n\n<p>Para servidores en Ubuntu o Debian puede usar:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\nsystemctl restart ssh\n<\/pre><\/div>\n\n\n<p>Para servidores en Centos o Fedora<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\nsystemctl restart sshd\n<\/pre><\/div>\n\n\n<p>Tambi\u00e9n puede usar el siguiente comando, donde especifica la llave privada a usar:<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: bash; title: ; notranslate\" title=\"\">\nssh -i llaveprueba.key root@192.168.1.2 -p 2211\n<\/pre><\/div>\n\n\n<p>Si requiere acceder a su servidor desde otros dispositivos tendr\u00e1 que copiar la llave privada y configurar una sesi\u00f3n adjuntando la llave generada.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Conclusi\u00f3n<\/h4>\n\n\n\n<p>Ahora podr\u00e1 usar la terminal de linux para conectarse directamente a sus servidores, sin depender de herramientas externas!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Si queremos aumentar la seguridad en nuestro servidor para los \u00abinicio de sesi\u00f3n\u00bb, podemos deshabilitar el uso de una clave para el usuario root (u otro usuario) y entablar la conexi\u00f3n mediante llaves, evitando su escritura. \u00bfPero que son las llaves p\u00fablicas y privadas? El uso de llaves p\u00fablicas y&#8230;<\/p>\n","protected":false},"author":2,"comment_status":"open","ping_status":"closed","template":"","format":"standard","meta":{"footnotes":""},"ht-kb-category":[20],"ht-kb-tag":[],"class_list":["post-161","ht_kb","type-ht_kb","status-publish","format-standard","hentry","ht_kb_category-servidores-cloud"],"_links":{"self":[{"href":"https:\/\/hostinglabs.net\/asistencia\/wp-json\/wp\/v2\/ht-kb\/161"}],"collection":[{"href":"https:\/\/hostinglabs.net\/asistencia\/wp-json\/wp\/v2\/ht-kb"}],"about":[{"href":"https:\/\/hostinglabs.net\/asistencia\/wp-json\/wp\/v2\/types\/ht_kb"}],"author":[{"embeddable":true,"href":"https:\/\/hostinglabs.net\/asistencia\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/hostinglabs.net\/asistencia\/wp-json\/wp\/v2\/comments?post=161"}],"version-history":[{"count":16,"href":"https:\/\/hostinglabs.net\/asistencia\/wp-json\/wp\/v2\/ht-kb\/161\/revisions"}],"predecessor-version":[{"id":182,"href":"https:\/\/hostinglabs.net\/asistencia\/wp-json\/wp\/v2\/ht-kb\/161\/revisions\/182"}],"wp:attachment":[{"href":"https:\/\/hostinglabs.net\/asistencia\/wp-json\/wp\/v2\/media?parent=161"}],"wp:term":[{"taxonomy":"ht_kb_category","embeddable":true,"href":"https:\/\/hostinglabs.net\/asistencia\/wp-json\/wp\/v2\/ht-kb-category?post=161"},{"taxonomy":"ht_kb_tag","embeddable":true,"href":"https:\/\/hostinglabs.net\/asistencia\/wp-json\/wp\/v2\/ht-kb-tag?post=161"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}