Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 167209 Details for
Bug 239656
[es] New translation: /doc/es/articles/openssh-key-management-p2.xml
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
Traducción completa
openssh-key-management-p2.xml (text/plain), 18.58 KB, created by
Javier Vecino (Coghan)
on 2008-10-04 19:29:50 UTC
(
hide
)
Description:
Traducción completa
Filename:
MIME Type:
Creator:
Javier Vecino (Coghan)
Created:
2008-10-04 19:29:50 UTC
Size:
18.58 KB
patch
obsolete
><?xml version = '1.0' encoding = 'UTF-8'?> ><!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> ><!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/es/articles/openssh-key-management-p2.xml,v 1.4 2005/12/02 00:40:17 rane Exp $ --><guide disclaimer="articles" link="/doc/es/articles/openssh-key-management-p2.xml" > > <title>Gestión de claves para OpenSSH, Parte 2</title> > <author title="Author" > > <mail link="drobbins@gentoo.org" >Daniel Robbins</mail> > </author> > <author title="Traductor" > > <mail link="coghan@shrekyfiona.cc" >Javier Vecino</mail> > </author> > <abstract>Muchos desarrolladores usan las excelencias de OpenSSH como sustituto cifrado y >seguro de los venerables comandos tenet y rsh. Una de las caracterÃsticas que >más intrigan de OpenSSH es la habilidad para validar usuarios usando los protocolos >RSA y DSA, que se basan en un par de claves numéricas complementarias. Uno de >los principales atractivos de la validación RSA y DSA es la promesa de ser capaz de >establecer conexiones a sistemas remotos sin suministrar una contraseña. En este >segundo artÃculo, Daniel nos introduce en ssh-agent (una caché de claves privadas) >y keychain, unos scripts de bash especialmente diseñados para hacer la validación >basada en clave increiblemente cómoda y flexible. ></abstract> ><!--La versión original de este artÃculo fue publicada por IBM developerWorks y >es propiedad de Westtech Information Services. Este documento es una >versión actualizada del artÃculo original y contiene mejoras introducidas >por el Equipo de Documentación de Gentoo. --> <version>1.2</version> > <date>2005-10-09</date> > <chapter> > <title>Presentando ssh-agent y keychain</title> > <section> > <title>Presentando ssh-agent</title> > <body> > <p>ssh-agent, incluido con la distribución de OpenSSH, es un programa especialmente >diseñado para manejar las claves RSA y DSA de forma agradable y segura (vea >la Parte 1 de esta serie para una introcucción a la validación RSA y DSA.) >ssh-agent, a diferencia de ssh, es un servicio diseñado con el único objetivo de >almacenar en caché el descifrado de sus claves privadas.</p> > <p> >ssh incluye soporte para comunicarse con ssh-agent, permitiendo a ssh adquirir >sus claves privadas descifradas sin preguntarle por la contraseña en cada nueva >conexión. Simplemente utilice ssh-add para añadir sus claves privadas a la caché >de shh-agent. En un único proceso; después de utilizar ssh-add, ssh usará su clave >privada desde ssh-agent, en lugar de preguntarle por una contraseña.</p> > </body> > </section> > <section> > <title>Uso de ssh-agent</title> > <body> > <p>Echemos un vistazo a como trabaja todo este sistema de caché de claves con >ssh-agent. Al iniciar ssh-agent desde consola, muestra unas variables de entorno >importantes antes de desconectarse de la consola y continuar su proceso en segundo >plano. He aquà un ejemplo de la salida generada por ssh-agent cuando se inicia: ></p> > <pre caption="Lanzando el servidio ssh-agent" > >$ <i>ssh-agent</i> >SSH_AUTH_SOCK=/tmp/ssh-XX4LkMJS/agent.26916; export SSH_AUTH_SOCK; >SSH_AGENT_PID=26917; export SSH_AGENT_PID; >echo Agent pid 26917; ></pre> > <p> >Como puede ver, la salida de ssh-agent es en realidad una serie de comandos en bash; >si se ejecutan, estos comandos ajustarÃas un par de variables de entorno, SSH_AUTH_SOCK >y SSH_AGENT_PID. Debido a la inclusión del comando export, estas variables de entorno >estarán disponibles para cualquier comando adicional que se lance posteriormente. Bien, >todo pasarÃa si estas lÃneas fueran evaluadas por la consola, pero ahora solamente se ha >enviado a stdout. Para solucionarlo, podemos llamar a ssh-agent como sigue: ></p> > <pre caption="Otra manera de llamar a ssh-agent" > >$ <i>eval `ssh-agent`</i> > </pre> > <p> >Este comando le dice a bash que lance ssh-agent y evalúe su salida. Invocando de >esta forma (con comillas inclinadas, no con comillas simples normales), las variables >SSH_AGENT_PID y SSH_AUTH_SOCK serán ajustadas y exportadas por su consola, >estando estas variables a disposiciñon de todos los procesos nuevos que se puedan >iniciar durante su sesión.</p> > <p> >La mejor manera de lanzar ssh-agent es añadir la lÃnea anterior a su ><path>~/.bash_profile</path>; de esta manera, todos los programas iniciados en su sesión verán las variables de >entorno, serán capaces de localizar ssh-agent y cosultar claves cuando sea necesario. >La variable de entorno particularmente importante es SHH_AUTH_SOCK; contiene un >enlace a un socket UNIX que ssh y scp pueden usar para establecer comunicación con >ssh-agent.</p> > </body> > </section> > <section> > <title>Usando ssh-add</title> > <body> > <p>Por supuesto, ssh-agent se inicia con una caché de claves descifradas vacÃa. >Antes de que podamos utilizar ssh-agent, en primer lugar hay que añadir nuestra(s) >clave(s) privada(s) a la caché de ssh-agent utilizando el comando ssh-add. En el >siguiente ejemplo uso ssh.add para añadir mi clave privada RSA <path>~/.ssh/identity</path> a la caché de ssh-agent: ></p> > <pre caption="Cargando clave privada RSA a la caché de ssh-agent's" > >$ <i>ssh-add ~/.ssh/identity</i> >Need passphrase for /home/drobbins/.ssh/identity >Enter passphrase for /home/drobbins/.ssh/identity >(enter passphrase) ></pre> > <p> >Como puede ver, ssh-add pregunta por mi contraseña a fin de que la clave privada >pueda ser descifrada y se almacena en la caché de ssh-agent, lista para usar. Una >vez que haya usado ssh-add para agregar su clave (o claves) privada a la caché de >ssh-agent SSH_AUTH_SOCK se define en su actual consola (debe ser asÃ, si lanzó >ssh-agent desde su ~/.bash_profile), entonces ya puede usar ssh y scp para establecer >conexiones con sistemas remotos sin suministrar su contraseña.</p> > </body> > </section> > <section> > <title>Limitaciones de ssh-agent</title> > <body> > <p> >ssh-agent es realmente cool, pero su configuración por defecto tiene unos >pocos inconvenientes. Echemos un vistazo a ellos.</p> > <p> >Por uno lado, con <c>eval `ssh-agent`</c> en <path>~/.bash_profile</path>, una nueva copia de ssh-agent es iniciada cada inicio de sesión; no solamente >es un desperdicio, también significa que necesita usar ssh-add para añadir una clave >privada para cada nueva copia de ssh-agent. Si solo abre una consola en su >sistema, esto no es mayor problema, pero la mayorÃa de nosotros abrimos un buen >número de terminales y es necesario escribir la contraseña cada vez que se abre una >nueva consola. Técnicamente, no hay razón por la que debiera ser necesario esto >mientras un solo proceso ssh-agent fuera suficiente.</p> > <p> >Otro problema por defecto en ssh-agent es que la instalación no es compatible >con cron jobs. Los trabajos iniciados por el proceso cron, no heredan la variable >de entorno SSH_AUTH_SOCK, y por consiguiente no sabrán que hay un proceso >ssh-agent en ejecución ni cómo ponerse en contacto con él. Este problema >también es corregible.</p> > </body> > </section> > <section> > <title>Introducir keychain</title> > <body> > <p> >Para resolver estos problemas, He escrito un práctico front-end basado en bash >llamado keychain. Lo que hace especial a keychain es el hecho de que permite >utilizar un solo proceso ssh-agent por sistema, no sólo por sesión. Esto significa >que usted sólo tiene que hacer un ssh-add por clave privada, y punto. Como >veremos en breve, incluso keychain ayuda a optimizar el proceso ssh-add >tratando de añadir solamente las claves privadas que no estén en ejecución en >la caché de ssh-agent.</p> > <p> >Aquà hay una muestra de como funciona keychain. Cuando se inicia a partir >de su ><path>~/.bash_profile</path>, se comprueba en primer lugar si algún ssh-agent se está ejecutando. >Si no es asÃ, entonces se iniciará ssh-agent y registrará las importantes >variables SSH_AUTH_SOCK y SSH_AGENT_PID en el archivo ><path>~/.ssh-agent</path> para su custodia y posterior uso. Esta es la mejor manera de iniciar keychain; >como hicimos con ssh-agent, es necesario realizar la configuración en <path>~/.bash_profile</path>: ></p> > <pre caption="Configuración de ssh-agent en ~/.bash_profile" > >#!/bin/bash >#example ~/.bash_profile file >/usr/bin/keychain ~/.ssh/id_rsa >#redirect ~/.ssh-agent output to /dev/null to zap the annoying >#"Agent PID" message >source ~/.ssh-agent > /dev/null ></pre> > <p> >Como puede ver, con keychain suministramos al fichero <path>~/.ssh-agent</path> en lugar de evaluar la salida como cuando usamos ssh-agent directamente. Sin embargo >el resultado es el mismo -- nuestra cada vez más importánte variable SSH_AUTH_SOCK >es definida, y ssh-agent se está ejecutando y listo para usarse. Y debido a que se registra >SSH_AUTH_SOCK en <path>~/.ssh-agent</path>, nuestros propios scripts y cron jobs pueden conectarse >fácilmente con ssh-agent solo con la lectura del archivo <path>~/.ssh-agent</path>. >keychain también se aprovecha de este fichero; recuerde cuando keychain se >inició, este comprueba si ssh-agent está ejecutándose. Si es asÃ, se usa el fichero <path>~/.ssh-agent</path> para adquirir la configuración apropiada de SSH_AUTH_SOCK, por lo tanto le >permite utilizar el actual agente en lugar de iniciar uno nuevo. keychain solo >iniciará un nuevo proceso ssh-agent sólo si el fichero ><path>~/.ssh-agent</path> está rancio (apunta a un ssh-agent inexistente) o si >el mismo <path>~/.ssh-agent</path> no existe. ></p> > </body> > </section> > <section> > <title>Instalar keychain</title> > <body> > <p> >La instalación de keychain es fácil. En primer lugar, vaya a la <uri link="http://www.gentoo.org/proj/en/keychain/index.xml" >página del proyecto keychain</uri> y descarge la versión más reciente disponible de las fuentes de keychain >o instale usando emerge, de la siguiente manera: ></p> > <pre caption="Instalar keychain" > ># <i>emerge keychain</i> > </pre> > <p>Ahora que keychain esta en <path>/usr/bin/</path>, añada a su ><path>~/.bash_profile</path>, añadiendo la ruta de su clave privada como argumento. >Aquà hay una buena configuración para habilitar keychain desde ><path>~/.bash_profile</path>: ></p> > <pre caption="Activando keychain en ~/.bash_profile" > >#!/bin/bash >#on this next line, we start keychain and point it to the private keys that >#we'd like it to cache >/usr/bin/keychain ~/.ssh/id_rsa ~/.ssh/id_dsa >source ~/.ssh-agent > /dev/null >#sourcing ~/.bashrc is a good thing >source ~/.bashrc ></pre> > </body> > </section> > <section> > <title>Keychain en acción</title> > <body> > <p> >Una vez configurado su <path>~/.bash_profile</path> para llamar a keychain en cada inicio de sesión, reinicie su sesión, Al hacerlo, keychain >iniciará ssh-agent, registrará la configuración de la variable de entorno del agente en ><path>~/.ssh-agent</path>, y le pedirá las contraseñas de las claves privadas especificadas >en la linea de comandos keychain en <path>~/.bash_profile</path>: ></p> > <figure caption="Keychain se inicia por primera vez" link="/images/docs/l-ssh-1.gif" /> > <p>Una vez que introduzca su contraseña, sus claves privadas se almacenarán en caché, >y keychain finalizará. Entonces, se cargará ~/.ssh-agent, inicializando su sesión para >ser usada con ssh-agent. Ahora, si reinicia su sesión nuevamente, notará que keychain >encontrará ssh-agent como proceso existente; que no finalizó cuando cerró su sesión. >Además, keychain verificará que las claves privadas especificadas están listas en la caché >de ssh-agent. Si no es asÃ, entonces le pedirá la contraseña, pero si todo va bien, su >actual ssh-agent todavÃa contendrá la clave privada que previamente añadió, lo que >significa que no se le preguntará por una contraseña: ></p> > <figure caption="Keychain encontrando un existente ssh-agent" link="/images/docs/l-ssh-2.gif" /> > <p> >Felicidades, acaba de iniciar sesión y deberÃa ser capaz de usar ssh y scp en sistemas >remotos; no necesita usar ssh-add después de iniciar la sesión, y ssh y scp no le >pedirán una contraseña. De hecho, siempre y cuando el proceso inicial ssh-agent siga >en marcha, podrá acceder y establecer conexiones ssh sin suministrar una contraseña. >Y es muy probable que su proceso ssh-agent continue ejecutandose hasta que la >máquina sea reiniciada; probablemente lo configure en un sistema >Linux, ¡es posible que no sea necesario que introduzca su contraseña en varios meses!. >Bienvenido al mundo de la seguridad, conexiones libres de contraseñas usando la >validación RSA y DSA. ></p> > <p>Adelante, cree varias sesiones nuevas, y verá que keychain "enganchará" al mismo >proceso ssh-agent cada vez. No hay que olvidar que puede enganchar sus cron jobs y >scripts al proceso ssh-agent en ejecución. Para utilizar los comandos ssh o scp desde >scripts de consola y cron jobs, asegúrese de que obtiene su fichero <path>~/.ssh-agent</path> en primer lugar: ></p> > <pre caption="Obteniendo el fichero ~/.ssh-agent" > >$ <i>source ~/.ssh-agent</i> > </pre> > <p>Luego, cualquier comando ssh o scp serán capaces de encontrar el actual proceso >ssh-agent en ejecución y establecer una coneción segura libre de contraseñas igual >que desde la consola.</p> > </body> > </section> > <section> > <title>Opciones de keychain</title> > <body> > <p> >Después de tener funcionando keychain, asegurese de teclear <c>keychain --help</c> >para familiarizarse con todas las opciones de linea de comandos de keychain. >Vamos a echar un vistazo a uno en partiular: la opción <c>--clear</c> > </p> > <p> >Recordará que en la parte 1, expliqué que el uso de claves privadas sin cifrar >es una práctica peligrosa, ya que permite a cualquiera robar su clave privada >y usarla para acceder a sus cuentas remotas de cualquier sistema sin suministrarle >contraseña. Bien, mientras que keychain no es vulnerable a este tipo de abuso >(que es siempre y cuando utilice las claves privadas cifradas), hay una debilidad >potencialmente explotable directamente relacionada con el hecho que keychain >se enganche facilmente a un proceso ssh-agent de larga duración. ¿Que pasarÃa, >pensé, sin algún intruso consiguiera averiguar mi contraseña o frase de acceso >a mi sistema local? Si de alguna manera se pudiera acceder bajo mi usuario, >keychain les garantizarÃa el acceso instantáneo a mis claves privadas descifradas, >por lo que no es obvio para ellos tener acceso a mis otras cuentas. ></p> > <p> >Ahora, antes de continuar, vamos a poner este riesgo de seguridad en >perspectiva. Si algún usuario malintencionado de alguna manera pudiera >validarse como yo, keychain permitirÃa el acceso a mis cuentas remotas. Sin >embargo, aun asÃ, serÃa muy difÃcil para el intruso robar mis claves privadas >descifradas ya que todavÃa están encriptadas en el disco. Además, para tener >acceso a mis claves privadas requiere que un usuario realmente se valide como >yo. Asà que, abusar de ssh-agent serÃa más difÃcil que simplemente robar una >clave privada sin cifrar, que sólo requiere que un intruso acceda de alguna >manera a mis ficheros en <path>~/.ssh</path>, ya sea validado como yo o no. >Sin embargo, si un intruso logró acceder en condiciones a validarse como yo, ello >supondrÃa que podrÃa hacer un poco más de daño adicional usando mis claves >privadas descifradas. Por lo tanto, si usted pasase a estar usando keychain en un >servidor que no se validase a menudo o no activamente para controlar las >brechas de seguridad, entonces considere utilizar la opción ><c>--clear</c> para proporcionar una capa de seguridad adicional. ></p> > <p> >La opción <c>--clear</c> permite decirle a keychain suponer que cada nuevo acceso a su cuenta >deberÃa ser considerado como una potencial brecha en la seguridad hasta >que se demuestre lo contrario. Al iniciar keychain con la opción <c>--clear</c> , keychain limpia inmediatamente todas sus claves privadas de la caché de ssh-agent >cuando se inicia sesión, antes de realizar sus funciones normales. Por lo tanto, si usted >es un intruso, keychain le pedirá las contraseñas en lugar de darle acceso a su actual >conjunto de claves en caché. Sin embargo, a pesar de que ello aumenta la seguridad, >hace las cosas un poco más incómodas y muy similar a ejecutar ssh-agent por sà solo, >sin keychain. En este caso, como suele ser, uno puede optar por una mayor seguridad >o mayor comodidad, pero no ambos. ></p> > <p> >A pesar de ello, utilizando kechain con <c>--clear</c> todavÃa tiene ventajas sobre el uso de ssh-agent por sà solo; recuerde, >cuando se usa keychain <c>--clear</c>, >sus cron jobs y scripts seguirán siendo capaces de establecer conexiones sin >contraseñas; esto es debido a que sus claves privadas son limpiadas en el acceso, >no al salir. Desde un cierre de sesión del sistema no constituye una potencial brecha >de seguridad, no hay razón para que keychain limpie las claves de ssh-agent. Por lo >tanto, la opción <c>--clear</c> es ideal para los servidores que se acceden con poca frecuencia para llevar a cabo >ocacionales tareas de copia de seguridad, tales como backup de los servidores, cortafuegos >y routers. ></p> > </body> > </section> > <section> > <title>¡Finalizado!</title> > <body> > <p> >Ahora que la gestión de claves para OpenSSH esta completa, debe estar familiarizado >con las claves RSA y DSA y saber como utilizarlas de forma conveniente y segura. >Asegúrese de comprobar los siguientes recursos: ></p> > </body> > </section> > </chapter> > <chapter id="recursos" > > <title>Recursos</title> > <section> > <body> > <ul> > <li> > Leer <uri link="/doc/es/articles/openssh-key-management-p1.xml" >Parte > 1</uri> y <uri link="/doc/en/articles/openssh-key-management-p3.xml" >Parte > 3</uri> de la serie de Daniel en gestión de claves para OpenSSH. > </li> > <li> > Viste el <uri link="http://www.openssh.com/" >sitio de desarrollo de OpenSSH ></uri> > </li> > <li> > Obtenga la <uri link="http://www.gentoo.org/proj/en/keychain/index.xml" >versión > más reciente de keychain</uri> > </li> > <li> > Revise las <uri link="http://www.openssh.com/faq.html" >OpenSSH FAQ</uri> > </li> > <li> > <uri link="http://www.chiark.greenend.org.uk/~sgtatham/putty/" >PuTTY es un > excelente cliente ssh para máquinas Windows</uri> > </li> > </ul> > </body> > </section> > <li> > Puede encontrar el libro de ayuda de O'Reilly "SSH, The Secure Shell: The Definitive Guide". <uri link="http://www.snailbook.com/" >El sitio del Autor</uri> > contiene información acerca del libro, FAQ, noticias, y actualizaciones. > </li> > </chapter> ></guide>
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 239656
:
167209
|
167557
|
167604