{"id":714,"date":"2018-03-03T12:15:50","date_gmt":"2018-03-03T17:15:50","guid":{"rendered":"http:\/\/log.cagadaga.com\/?p=714"},"modified":"2018-03-03T12:55:45","modified_gmt":"2018-03-03T17:55:45","slug":"conectarse-remotamente-usando-llaves-publicas-y-privadas","status":"publish","type":"post","link":"https:\/\/log.cagadaga.com\/?p=714","title":{"rendered":"Conectarse remotamente usando llaves publicas y privadas"},"content":{"rendered":"<p>&nbsp;<br \/>\n<a href=\"http:\/\/log.cagadaga.com\/misimages\/ssh-big.png\"><\/p>\n<div align=\"center\"><img fetchpriority=\"high\" decoding=\"async\" src=\"http:\/\/log.cagadaga.com\/misimages\/ssh-big.png\" alt=\"ssh\" width=\"300\" height=\"187\" \/><\/div>\n<p><\/a><br \/>\n&nbsp;<\/p>\n<p>ssh un protocolo de comunicaci\u00c3\u00b3n que encontramos en la capa de aplicaci\u00c3\u00b3n del protocolo de comunicaci\u00c3\u00b3n TCP\/IP, ssh nos sirve para establecer conexiones de manera remota y de manera segura entre servidores.<\/p>\n<p>Por lo general cuando usamos ssh siempre a la hora de hacer la conexi\u00c3\u00b3n del lado del servidor nos preguntara un usuario y un passwd. As\u00c3\u00ad mismo cuando tenemos muchos servidores pues es algo engorroso tener un mont\u00c3\u00b3n de passwds. en otras ocaciones las pol\u00c3\u00adticas de passwd son algo complejas de equis n\u00c3\u00bamero de caracteres, n\u00c3\u00bameros, caracteres especiales, mayusculas y min\u00c3\u00basculas.<\/p>\n<p>&nbsp;<\/p>\n<p>Una imagen para medio explicar como funciona el protocolo de comunicaci\u00c3\u00b3n de <strong>SSH<\/strong><\/p>\n<p>&nbsp;<br \/>\n&nbsp;<\/p>\n<p><a href=\"http:\/\/log.cagadaga.com\/misimages\/ssh-key.png\"><\/p>\n<div align=\"center\"><img decoding=\"async\" src=\"http:\/\/log.cagadaga.com\/misimages\/ssh-key.png\" alt=\"ssh\" width=\"300\" height=\"187\" \/><\/div>\n<p><\/a><\/p>\n<p>No se ustedes pero en lo personal no me aprenderia tantisimas contrase\u00c3\u00b1as.<\/p>\n<p>entonces lo que podemos hacer es generar nuestra llave y subirla a los servidores a donde necesitamos ingresar y ya sea que usemos una llave con alguna frase mas sencilla o dejarla sin frase.<\/p>\n<p>Hacemos lo siguiente si mi usuarios es<strong> xanatos<\/strong> y quiero ingresar a mi maquina vmclase001 sin tener que usar passwd haremos lo siguiente.<\/p>\n<p>&nbsp;<\/p>\n<pre lang=\"bash\">ssh-keygen -t rsa -b 4096 -C \"bernardo.mejia@gmail.com\"\r\nGenerating public\/private rsa key pair.\r\nEnter file in which to save the key (\/home\/xanatos\/.ssh\/id_rsa): \r\nEnter passphrase (empty for no passphrase): \r\nEnter same passphrase again: \r\nYour identification has been saved in \/home\/xanatos\/.ssh\/id_rsa.\r\nYour public key has been saved in \/home\/xanatos\/.ssh\/id_rsa.pub.\r\nThe key fingerprint is:\r\nSHA256:Choz61K1xeFpqf6o66AT1LX8I\/7I6KXMWnThT4bSV9g bernardo.mejia@gmail.com\r\nThe key's randomart image is:\r\n+---[RSA 4096]----+\r\n|                 |\r\n|     .. o        |\r\n|  . o+.= E       |\r\n| . .+oX .        |\r\n|. ++.X.+S        |\r\n|. o*=o=+         |\r\n|.ooo..o..        |\r\n|+o+ *o.          |\r\n|.=BO.+o.         |\r\n+----[SHA256]-----+\r\n\r\n<\/pre>\n<p>como podemos ver ejecutamos el ssh-keygen se genera nuestra llave publica y privada dentro de nuestro home directory y en el subdirectorio .ssh y genera mis archivo id_rsa e id_rsa.pub.<\/p>\n<p>Copiamos nuestra llave pulica al server al archivo authorized_keys<\/p>\n<p>en el server si no existe el archivo lo creamos<\/p>\n<pre lang=\"bash\">touch authorized_keys\r\nvi authorized_keys\r\n\r\n$ cat authorized_keys \r\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQCqF4X5322\/2MbloaZAIKXLvfqz7ZxSJYmdYlXluNZqZvPZ7W4qF78\/kL7n+N2EUrGR1oPkd0kJaAZuQvJyPiYO2L+GaraS5IRJoWbqbM1yAP0htAhsuSx1Gj+DBe2H8IcANGQ9aG9nmlouykAWcut2bEPdvglOI2hjPi71OJvJbh10AXL4leaBuJbFOkxSqwoH15RAo6kPgcZhhyNkhKcS0qv0FPQ9F46LLuQuAcBfZCOzTYjlfMt418GQaL61LjGIK48l3Tl7Yo1RwJMRZrwWJUvmNsDXmovmkhfcbVVJGXsVR21X22AVq+8l1F9yXUUAKNeqT3BLTrThlGZc0PiLANaqYm60m\/okDdy+UT8NCYxy6TCggQxpIsOuQaPfQfWEzNDBf7+dTL9VudECcHyPAHdXEOMnBvRXI\/Vk9IKng3j7fILtDsfkkSp8Hd1z50ascpmam7fgInghz1RY\/YmhPPqsIUiWkvHM24+o08pbiyrL6BjGldcuBAyRsFzuB573+vldp9i9LQxPjK5FuIUN2bc12w6TatS\/VUkMDPyjcFPzENvccdB9aQ3odSw1QLPcIqyGw5S\/azE6Ay4kwak6hblBzT1ztIKiI9v873f0CjOmOjYzT4DkBZOmbc7sld5XMmeNdFOP\/kbcDj+ggCyEOBx7tPixD81Qia6AWm7FjQ== bernardo.mejia@gmail.com\r\nxanatos@vmclase001:~\/.ssh$ \r\n<\/pre>\n<p>Ahora ya subimos nuestra llave y en teor\u00c3\u00ada ya podemos entrar al server sin necesitad de una centrase\u00c3\u00b1a!<\/p>\n<p>intentamos<\/p>\n<pre lang=\"bash\">~$ ssh xanatos@mysqlvm001.bmejiaparedes.mx\r\nThe authenticity of host 'mysqlvm001.bmejiaparedes.mx (62.151.176.96)' can't be established.\r\nECDSA key fingerprint is SHA256:igQgIOtrN74YqwH+uCQONWfTwyCItXgXspFUBaVY8PI.\r\nAre you sure you want to continue connecting (yes\/no)? yes\r\nWarning: Permanently added 'mysqlvm001.bmejiaparedes.mx,62.151.176.96' (ECDSA) to the list of known hosts.\r\nxanatos@mysqlvm001.bmejiaparedes.mx's password:\r\n<\/pre>\n<p>Nos damos cuenta que nos sigue pidiendo passwd, necesitaremos revisar los permisos y tenemos que tener los archivos con los siguientes permisos<\/p>\n<p>&nbsp;<\/p>\n<pre lang=\"bash\">~\/.ssh$ ls -ltr\r\ntotal 16\r\n-rw-r--r-- 1 xanatos xanatos  750 mar  3 11:14 id_rsa.pub\r\n-rw------- 1 xanatos xanatos 3243 mar  3 11:14 id_rsa\r\n-rw------- 1 xanatos xanatos  750 mar  3 11:21 authorized_keys\r\n-rw-r--r-- 1 xanatos xanatos  444 mar  3 11:25 known_hosts\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>Volvemos a intentar y ahora si podemos entrar sin necesidad de poner una contrase\u00c3\u00b1a y solo co nuestra llave.<\/p>\n<pre lang=\"bash\">:~\/.ssh$ cd\r\nxanatos@vmclase001:~$ \r\nxanatos@vmclase001:~$ ssh xanatos@mysqlvm001.bmejiaparedes.mx\r\nLast login: Sat Mar  3 17:32:13 2018 from fixed-189-203-149-57.totalplay.net\r\n[xanatos@vmX ~]$\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>Ahora si ya existe el usuario y tenemos el acceso a las llaves usaremos nuestra llave privada para poder acceder al usuario<\/p>\n<p>aqu\u00c3\u00ad tenemos las llaves del usuario clasex1 y haremos lo siguiente<\/p>\n<pre lang=\"bash\">xanatos@vmclase001:~$ ls -ltr |grep id\r\ndrwxr-xr-x 2 xanatos xanatos 4096 feb 21 21:28 Videos\r\n-rw------- 1 xanatos xanatos 3243 mar  3 08:34 id_rsa_clasex1\r\n-rw------- 1 xanatos xanatos  744 mar  3 08:34 id_rsa_clasex1.pub\r\nxanatos@vmclase001:~$ \r\n\r\nxanatos@vmclase001:~$ ssh -i id_rsa_clasex1 clasex1@mysqlvm001.bmejiaparedes.mx\r\nLast login: Sat Mar  3 16:44:09 2018 from fixed-189-203-149-57.totalplay.net\r\n[clasex1@vmX ~]$\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>Ahora solo usamos nuestra llave privada que fue con anterioridad compartida para con nosotros. :p<\/p>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; &nbsp; ssh un protocolo de comunicaci\u00c3\u00b3n que encontramos en la capa de aplicaci\u00c3\u00b3n del protocolo de comunicaci\u00c3\u00b3n TCP\/IP, ssh nos sirve para establecer conexiones de manera remota y de manera segura entre servidores. Por lo general cuando usamos ssh siempre a la hora de hacer la conexi\u00c3\u00b3n del lado del servidor nos preguntara un<span class=\"post-excerpt-end\">&hellip;<\/span><\/p>\n<p class=\"more-link\"><a href=\"https:\/\/log.cagadaga.com\/?p=714\" class=\"themebutton\">Read More<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[],"class_list":["post-714","post","type-post","status-publish","format-standard","hentry","category-linux"],"_links":{"self":[{"href":"https:\/\/log.cagadaga.com\/index.php?rest_route=\/wp\/v2\/posts\/714","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/log.cagadaga.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/log.cagadaga.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/log.cagadaga.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/log.cagadaga.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=714"}],"version-history":[{"count":11,"href":"https:\/\/log.cagadaga.com\/index.php?rest_route=\/wp\/v2\/posts\/714\/revisions"}],"predecessor-version":[{"id":726,"href":"https:\/\/log.cagadaga.com\/index.php?rest_route=\/wp\/v2\/posts\/714\/revisions\/726"}],"wp:attachment":[{"href":"https:\/\/log.cagadaga.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=714"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/log.cagadaga.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=714"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/log.cagadaga.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=714"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}