{"id":18119,"date":"2018-01-30T01:00:10","date_gmt":"2018-01-30T00:00:10","guid":{"rendered":"https:\/\/eltallerdelbit.com\/?p=18119"},"modified":"2020-08-31T02:42:54","modified_gmt":"2020-08-31T00:42:54","slug":"ssh-clave-publica-privada","status":"publish","type":"post","link":"https:\/\/eltallerdelbit.com\/ssh-clave-publica-privada\/","title":{"rendered":"SSH clave publica y privada"},"content":{"rendered":"
<\/p>\n
Hemos de tener en cuenta que el uso de clave p\u00fablica y clave privada en SSH<\/strong> implica un cifrado criptogr\u00e1fico asim\u00e9trico<\/a> que una password simple no es capaz de ofrecer. Adem\u00e1s hace posible que los usuarios puedan acceder al server SSH sin tener que recordar contrase\u00f1as largas.<\/p>\n El uso del par de claves p\u00fablica\/privada<\/strong> en SSH, implica que la clave privada permanece solo en el equipo del cliente.<\/br> <\/p>\n En este art\u00edculo:<\/p>\n <\/p>\n <\/p>\n \n<\/li>\n <\/p>\n <\/p>\n <\/p>\n <\/p>\n <\/p>\n En un principio, tal como dec\u00edamos, el uso de clave privada y p\u00fablica implica m\u00e1s seguridad, pero en ocasiones puede resultar que el usuario puede ceder su clave privada a sus amigos o incluso venderla por Bitcoins. Esto \u00faltimo ha llegado a ocurrir por no configurar una seguridad adecuada<\/a>.<\/p>\n <\/p>\n – Podemos generar una clave publica con PuTTYgen<\/a><\/em> desde Windows<\/strong> y luego exportarla al server (aunque ya os anticipo que la generaci\u00f3n de claves con PuTTYgen no es del todo compatible con el formato de las claves SSH de Open SSH<\/em> de Linux, y llega a dar problemas, concr\u00e9tamente el error: ssh server refused our key<\/a><\/strong><\/em>), <\/p>\n – o generar las claves SSH desde linux<\/strong> con ssh-keygen<\/em>:<\/p>\n con el parametro -t le decimos qu\u00e9 tipo de cifrado deseamos (rsa, dsa …)<\/p>\n <\/p>\n y la clave privada se habr\u00e1 generado tambi\u00e9n, y es la que guardaremos en el equipo cliente: <\/p>\n <\/p>\n <\/p>\n si hacemos un listado del directorio \/.ssh podremos ver que se han generado las claves p\u00fablica y la privada:<\/p>\n Se ha generado la clave p\u00fablica (id_rsa.pub) <\/p>\n <\/p>\n Hay otros par\u00e1metros que podemos usar al generar un par de claves p\u00fablica\/privada con el comando ssh-keygen<\/strong><\/em>:<\/p>\n Adem\u00e1s del par\u00e1metro -t, que permite elegir el tipo de cifrado, otros par\u00e1metros muy utilizados son:<\/p>\n -b : permite a\u00f1adir un n\u00famero de bits al crear la llave.<\/p>\n -c : permite a\u00f1adir el archivo con la clave privada, introducir una frase de contrase\u00f1a, y a\u00f1adir un comentario.<\/p>\n -f : permite especificar el nombre del archivo de clave.<\/p>\n -l : permite mostrar el fingerprint o “huella dactilar” creada al generar la llave.<\/p>\n <\/p>\n <\/p>\n \u2013> RSAAuthentication yes<\/p>\n \u2013> PubkeyAuthentication yes<\/p>\n \u2013> AuthorizedKeysFile\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0 %h\/.ssh\/authorized_keys<\/p>\n <\/p>\n <\/p>\n <\/p>\n Ya que vamos a habilitar el acceso con clave p\u00fablica\/privada, es interesante deshabilitar el acceso al servidor con contrase\u00f1a.<\/p>\n <\/p>\n <\/p>\n Se han de revisar los permisos adecuados para el directorio \/.ssh<\/strong><\/em> del usuario en el equipo cliente, y los archivos contenidos en \u00e9l, incluido, claro, el archivo de clave privada; y el archivo authorized keys<\/strong><\/em> dentro del directorio de este usuario en el servidor SSH en el cual se autenticar\u00e1 (donde estar\u00e1 su clave p\u00fablica). La configuraci\u00f3n incorrecta de estos permisos tambi\u00e9n puede dar lugar al error Server refused our key<\/a><\/em> al intentar la conexi\u00f3n SSH al servidor. <\/p>\n <\/p>\n Tenemos varios m\u00e9todos para exportar las claves SSH al equipo cliente:<\/span><\/p>\n <\/p>\n <\/p>\n –> C\u00f3mo utilizar WinScp<\/a><\/li>\n<\/ul>\n <\/p>\n <\/p>\n Conexi\u00f3n con smbclient (samba) desde Linux a Windows:<\/p>\n <\/p>\n *** Importante:<\/p>\n Si vamos a conectar desde un cliente Windos, con el cliente SSH Putty<\/em>, primero habremos de convertir la clave importada al formato que utiliza Putty<\/em>.
\nMientras que la clave p\u00fablica permanece en el servidor (en el archivo \/home\/usuario\/.ssh\/authorized_keys<\/strong><\/em> por defecto, aunque se puede modificar en el archivo \/etc\/ssh\/sshd_config<\/em><\/strong>).
\n <\/p>\n\u00bfQu\u00e9 es SSH?<\/strong><\/span><\/h3>\n
\nSSH<\/em> o “Secure SHell<\/em>” es un protocolo que permite el acceso remoto por terminal a otros equipos.
\nSSH<\/em> se usa para administrar equipos y servidores de forma remota, sobre todo con terminales “tontos” (un terminal sin entorno gr\u00e1fico y sin monitor, al que se accede por red, con SSH, y por medio de terminal, no de entorno gr\u00e1fico); por defecto funciona en el puerto 22, aunque se puede cambiar.
\n <\/p>\n\n
\n
\n
\n
\n
\n <\/p>\n1. Pasos necesarios para SSH con clave publica y privada<\/strong><\/span><\/h3>\n
\n
\n <\/p>\n2. GENERAR PAR DE CLAVE P\u00daBLICA Y PRIVADA<\/strong><\/span><\/h3>\n
\nPrimero hemos de generar la clave publica en el server Linux. Y la clave privada se generar\u00e1 a partir de la p\u00fablica.<\/p>\n
\n <\/p>\nssh-keygen -t rsa<\/pre>\n
\n <\/p>\n
\ny la clave privada (id_rsa)<\/p>\n
\n <\/p>\n2.1 <\/span>Par\u00e1metros SSH-KEYGEN<\/span><\/a><\/span><\/h4>\n
\n
\n <\/p>\n
\n
\n <\/p>\n3. No olvidemos las directivas SSH<\/strong> que deben estar activadas (para el uso de clave p\u00fablica y privada SSH<\/strong>):<\/span><\/h3>\n
3.1 Para m\u00e1s seguridad, desactivar estas otras directivas SSH:<\/span><\/h4>\n
\nEsto lo conseguimos configurando la directiva PassworAuthentication<\/strong> yes<\/em> (por defecto est\u00e1 en yes<\/em>) con la opci\u00f3n no<\/strong><\/em> (en el archivo sshd_config<\/em>),
\n
\n
\n <\/p>\n4. Otros requisitos importantes para SSH con clave p\u00fablica y privada<\/strong> (permisos directorio .ssh<\/strong><\/em> y archivo authorized_keys<\/strong><\/em>):<\/span><\/h3>\n
\n <\/p>\n
\n <\/p>\n*** VER ENTRADA: PERMISOS ADECUADOS EN DIRECTORIOS Y ARCHIVOS NECESARIOS PARA SERVIDOR OPEN SSH<\/a><\/span><\/h4>\n
\n
\n <\/p>\n5. Exportar la clave privada desde Server SSH<\/strong> a un cliente<\/span><\/h4>\n
\n
\n
\n
\n
\n –> C\u00f3mo copiar archivo de Linux a Windows a trav\u00e9s de terminal<\/a><\/li>\n<\/ul>\n
\n<\/p>\n
\n
\n <\/p>\n6. Conexi\u00f3n SSH con clave privada desde cliente<\/span><\/h3>\n
\n <\/p>\n