1 |
nimiux 10/10/28 16:40:36 |
2 |
|
3 |
Modified: openssh-key-management-p2.xml |
4 |
Log: |
5 |
update part 2 of the 'openssh key management' article. keychain works |
6 |
differently now. |
7 |
fixed some typos. |
8 |
|
9 |
Revision Changes Path |
10 |
1.4 xml/htdocs/doc/es/articles/openssh-key-management-p2.xml |
11 |
|
12 |
file : http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/doc/es/articles/openssh-key-management-p2.xml?rev=1.4&view=markup |
13 |
plain: http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/doc/es/articles/openssh-key-management-p2.xml?rev=1.4&content-type=text/plain |
14 |
diff : http://sources.gentoo.org/viewvc.cgi/gentoo/xml/htdocs/doc/es/articles/openssh-key-management-p2.xml?r1=1.3&r2=1.4 |
15 |
|
16 |
Index: openssh-key-management-p2.xml |
17 |
=================================================================== |
18 |
RCS file: /var/cvsroot/gentoo/xml/htdocs/doc/es/articles/openssh-key-management-p2.xml,v |
19 |
retrieving revision 1.3 |
20 |
retrieving revision 1.4 |
21 |
diff -u -r1.3 -r1.4 |
22 |
--- openssh-key-management-p2.xml 18 May 2010 14:19:02 -0000 1.3 |
23 |
+++ openssh-key-management-p2.xml 28 Oct 2010 16:40:36 -0000 1.4 |
24 |
@@ -1,5 +1,5 @@ |
25 |
<?xml version = '1.0' encoding = 'UTF-8'?> |
26 |
-<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/es/articles/openssh-key-management-p2.xml,v 1.3 2010/05/18 14:19:02 chiguire Exp $ --> |
27 |
+<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/es/articles/openssh-key-management-p2.xml,v 1.4 2010/10/28 16:40:36 nimiux Exp $ --> |
28 |
<!DOCTYPE guide SYSTEM "/dtd/guide.dtd"> |
29 |
|
30 |
<guide link="/doc/es/articles/openssh-key-management-p2.xml" disclaimer="articles" lang="es"> |
31 |
@@ -14,6 +14,9 @@ |
32 |
<author title="Traductor"> |
33 |
<mail link="chiguire@g.o"/> |
34 |
</author> |
35 |
+<author title="Traductor"> |
36 |
+ <mail link="nimiux"/> |
37 |
+</author> |
38 |
|
39 |
<abstract> |
40 |
Muchos desarrolladores usan las excelencias de OpenSSH como sustituto |
41 |
@@ -35,8 +38,8 @@ |
42 |
original y contiene mejoras introducidas por el Equipo de |
43 |
Documentación de Gentoo. --> |
44 |
|
45 |
-<version>1.3</version> |
46 |
-<date>2010-04-26</date> |
47 |
+<version>1.4</version> |
48 |
+<date>2010-10-19</date> |
49 |
|
50 |
<chapter> |
51 |
<title>Presentando ssh-agent y keychain</title> |
52 |
@@ -103,7 +106,7 @@ |
53 |
salida. Invocando de esta forma (con comillas inclinadas hacia atrás, |
54 |
no con comillas simples normales), las variables SSH_AGENT_PID y |
55 |
SSH_AUTH_SOCK serán ajustadas y exportadas por su consola, estando a |
56 |
-disposiciñon de todos los procesos nuevos que se puedan iniciar |
57 |
+disposición de todos los procesos nuevos que se puedan iniciar |
58 |
durante la sesión. |
59 |
</p> |
60 |
|
61 |
@@ -165,11 +168,11 @@ |
62 |
<path>~/.bash_profile</path>, una nueva copia de ssh-agent es iniciada |
63 |
cada inicio de sesión; no solamente es un desperdicio, también |
64 |
significa que necesita usar ssh-add para añadir una clave privada para |
65 |
-cada nueva copia de ssh-agent. Si solo abre una consola en su sistema, |
66 |
+cada nueva copia de ssh-agent. Si sólo abre una consola en su sistema, |
67 |
esto no es mayor problema, pero la mayoría de nosotros abrimos un buen |
68 |
número de terminales y es necesario escribir la contraseña cada vez |
69 |
que se abre una nueva consola. Técnicamente, no hay razón por la que |
70 |
-debiera ser necesario esto mientras un solo proceso ssh-agent fuera |
71 |
+debiera ser necesario esto mientras un único proceso ssh-agent fuera |
72 |
suficiente. |
73 |
</p> |
74 |
|
75 |
@@ -190,7 +193,7 @@ |
76 |
<p> |
77 |
Para resolver estos problemas, he escrito un práctico "front-end" |
78 |
basado en bash llamado keychain. Lo que hace especial a keychain es el |
79 |
-hecho de que permite utilizar un solo proceso ssh-agent por sistema, |
80 |
+hecho de que permite utilizar un único proceso ssh-agent por sistema, |
81 |
no sólo por sesión. Esto significa que usted sólo tiene que hacer un |
82 |
ssh-add por clave privada, y punto. Como veremos en breve, incluso |
83 |
keychain ayuda a optimizar el proceso ssh-add tratando de añadir |
84 |
@@ -203,7 +206,8 @@ |
85 |
partir de su <path>~/.bash_profile</path>, se comprueba en primer |
86 |
lugar si algún ssh-agent se está ejecutando. Si no es así, se iniciará |
87 |
ssh-agent y registrará las importantes variables SSH_AUTH_SOCK y |
88 |
-SSH_AGENT_PID en el archivo <path>~/.ssh-agent</path> para su custodia |
89 |
+SSH_AGENT_PID en el archivo |
90 |
+<path>~/.keychain/<nombredeservidor>-sh</path> para su custodia |
91 |
y posterior uso. Esta es la mejor manera de iniciar keychain; como |
92 |
hicimos con ssh-agent, es necesario realizar la configuración en |
93 |
<path>~/.bash_profile</path>: |
94 |
@@ -211,30 +215,38 @@ |
95 |
|
96 |
<pre caption="Configuración de ssh-agent en ~/.bash_profile"> |
97 |
#!/bin/bash |
98 |
-#example ~/.bash_profile file |
99 |
+ |
100 |
+<comment># fichero ejemplo ~/.bash_profile</comment> |
101 |
/usr/bin/keychain ~/.ssh/id_rsa |
102 |
-#redirect ~/.ssh-agent output to /dev/null to zap the annoying |
103 |
-#"Agent PID"; message |
104 |
-source ~/.ssh-agent > /dev/null |
105 |
+ |
106 |
+<comment># redirecciona la salida de ~/.keychain/ a /dev/null para |
107 |
+# eliminar le molesto mensaje "Agent PID"</comment> |
108 |
+source ~/.keychain/<hostname>-sh > /dev/null |
109 |
+ |
110 |
+<comment># las variables de entorno se almacenan usando un fichero |
111 |
+# nombredeservidor-sh, por lo tanto, reemplace <nombredeservidor> |
112 |
+# por el nombre de su servidor y el "sh" estándar por "csh" o "fish" |
113 |
+# si usa alguna de éstas shells</comment> |
114 |
</pre> |
115 |
|
116 |
<p> |
117 |
Como puede ver, con keychain suministramos al fichero |
118 |
-<path>~/.ssh-agent</path> en lugar de evaluar la salida como cuando |
119 |
-usamos ssh-agent directamente. Sin embargo el resultado es el mismo -- |
120 |
-nuestra cada vez más importánte variable SSH_AUTH_SOCK es definida, y |
121 |
-ssh-agent se está ejecutando y listo para usarse. Debido a que se |
122 |
-registra SSH_AUTH_SOCK en <path>~/.ssh-agent</path>, nuestros propios |
123 |
-guiones y tareas cron pueden conectarse fácilmente con ssh-agent solo |
124 |
-con la lectura del archivo <path>~/.ssh-agent</path>. keychain también |
125 |
+<path>~/.keychain/<nombredeservidor>-sh</path> en lugar de evaluar |
126 |
+la salida como cuando usamos ssh-agent directamente. Sin embargo el |
127 |
+resultado es el mismo -- nuestra cada vez más importante variable |
128 |
+SSH_AUTH_SOCK es definida, y ssh-agent se está ejecutando y listo para |
129 |
+usarse. Debido a que se registra SSH_AUTH_SOCK en |
130 |
+<path>~/.keychain/</path>, nuestros propios guiones y tareas cron pueden |
131 |
+conectar fácilmente con ssh-agent sólo con la lectura del archivo |
132 |
+<path>~/.keychain/<nombredeservidor>-sh</path>. keychain también |
133 |
aprovecha este fichero; recuerde cuando keychain se inició, este |
134 |
comprueba si ssh-agent está ejecutándose. Si es así, se usa el fichero |
135 |
-<path>~/.ssh-agent</path> para adquirir la configuración apropiada de |
136 |
-SSH_AUTH_SOCK, por lo tanto le permite utilizar el actual agente en |
137 |
-lugar de iniciar uno nuevo. keychain solo iniciará un nuevo proceso |
138 |
-ssh-agent sólo si el fichero <path>~/.ssh-agent</path> está rancio |
139 |
-(apunta a un ssh-agent inexistente) o si el mismo |
140 |
-<path>~/.ssh-agent</path> no existe. |
141 |
+<path>~/.keychain/</path> apropiado para adquirir la configuración |
142 |
+correcta de SSH_AUTH_SOCK, por lo tanto le permite utilizar el actual |
143 |
+agente en lugar de iniciar uno nuevo. keychain iniciará un nuevo |
144 |
+proceso ssh-agent sólo si el fichero <path>~/.keychain/</path> no está |
145 |
+en condiciones (esto es, apunta a un ssh-agent inexistente) o si el |
146 |
+propio <path>~/.keychain/</path> no existe. |
147 |
</p> |
148 |
</body> |
149 |
</section> |
150 |
@@ -260,11 +272,18 @@ |
151 |
|
152 |
<pre caption="Activando keychain en ~/.bash_profile"> |
153 |
#!/bin/bash |
154 |
-# en la línea siguiente, inciaremos keychain y suministramos |
155 |
-# las claves privadas que deseamos grabar en el caché |
156 |
+ |
157 |
+<comment># en la línea siguiente, inciaremos keychain y suministramos |
158 |
+# las claves privadas que deseamos grabar en el caché</comment> |
159 |
/usr/bin/keychain ~/.ssh/id_rsa ~/.ssh/id_dsa |
160 |
-source ~/.ssh-agent > /dev/null |
161 |
-# la evaluación de ~/.bashrc es algo bueno |
162 |
+ |
163 |
+<comment># las variables de entorno se almacenan usando un fichero |
164 |
+# nombredeservidor-shell, por lo tanto, reemplace, |
165 |
+# <nombredeservidor> por el nombre de su servidor, y el "sh" |
166 |
+# estándar por "csh" o "fish" si usa alguna de éstas shells</comment> |
167 |
+source ~/.keychain/<hostname>-sh > /dev/null |
168 |
+ |
169 |
+<comment># es recomendable hacer source de ~/.bashrc</comment> |
170 |
source ~/.bashrc |
171 |
</pre> |
172 |
</body> |
173 |
@@ -278,7 +297,7 @@ |
174 |
Una vez configurado su <path>~/.bash_profile</path> para llamar a |
175 |
keychain en cada inicio de sesión, reinicie su sesión, Al hacerlo, |
176 |
keychain iniciará ssh-agent, registrará la configuración de la |
177 |
-variable de entorno del agente en <path>~/.ssh-agent</path>, y le |
178 |
+variable de entorno del agente en <path>~/.keychain</path>, y le |
179 |
pedirá las contraseñas de las claves privadas especificadas en la |
180 |
linea de comandos keychain en <path>~/.bash_profile</path>: |
181 |
</p> |
182 |
@@ -288,7 +307,8 @@ |
183 |
|
184 |
<p> |
185 |
Una vez introducida la contraseña, las claves privadas se almacenarán |
186 |
-en caché, y keychain finalizará. Entonces, se cargará ~/.ssh-agent, |
187 |
+en caché, y keychain finalizará. Entonces, se cargará |
188 |
+<path>~/.keychain/<nombredeservidor>-sh</path> |
189 |
inicializando su sesión para ser usada con ssh-agent. Ahora, si |
190 |
reinicia su sesión nuevamente, notará que keychain encontrará |
191 |
ssh-agent como proceso existente; que no finalizó cuando cerró su |
192 |
@@ -308,7 +328,7 @@ |
193 |
la sesión, y ssh y scp no le pedirán una contraseña. De hecho, siempre |
194 |
y cuando el proceso inicial ssh-agent siga en marcha, podrá acceder y |
195 |
establecer conexiones ssh sin suministrar una contraseña. Y es muy |
196 |
-probable que su proceso ssh-agent continue ejecutandose hasta que la |
197 |
+probable que su proceso ssh-agent continue ejecutándose hasta que la |
198 |
máquina sea reiniciada; probablemente lo configure en un sistema |
199 |
Linux, ¡es posible que no sea necesario que introduzca su contraseña |
200 |
en varios meses!. Bienvenido al mundo de la seguridad, conexiones |
201 |
@@ -320,17 +340,22 @@ |
202 |
"enganchará"; al mismo proceso ssh-agent cada vez. No hay que olvidar |
203 |
que puede enganchar sus cron jobs y scripts al proceso ssh-agent en |
204 |
ejecución. Para utilizar los comandos ssh o scp desde scripts de |
205 |
-consola y cron jobs, asegúrese de que obtiene su fichero |
206 |
-<path>~/.ssh-agent</path> en primer lugar: |
207 |
+consola y trabajos cron, asegúrese de que obtiene su fichero |
208 |
+<path>~/.keychain/<nombredeservidor>-shell</path> en |
209 |
+primer lugar: |
210 |
</p> |
211 |
|
212 |
-<pre caption="Obteniendo el fichero ~/.ssh-agent"> |
213 |
-$ <i>source ~/.ssh-agent</i> |
214 |
+<pre caption="Haciendo source del fichero ~/.keychain/ apropiado"> |
215 |
+<comment>(Las variables de entorno se almacenan usando un fichero |
216 |
+nombredeservidor-shell, por lo tanto reemplace <nombredeservidor> |
217 |
+por el nombre de su servidor, y el "sh" estándar por "csh" o "fish" |
218 |
+si usa alguna de éstas shells)</comment> |
219 |
+$ <i>source ~/.keychain/<nombredeservidor>-sh</i> |
220 |
</pre> |
221 |
|
222 |
<p> |
223 |
Luego, cualquier comando ssh o scp serán capaces de encontrar el |
224 |
-actual proceso ssh-agent en ejecución y establecer una coneción segura |
225 |
+actual proceso ssh-agent en ejecución y establecer una conexión segura |
226 |
libre de contraseñas igual que desde la consola. |
227 |
</p> |
228 |
</body> |
229 |
@@ -355,7 +380,7 @@ |
230 |
keychain no es vulnerable a este tipo de abuso (que es siempre y |
231 |
cuando utilice las claves privadas cifradas), hay una debilidad |
232 |
potencialmente explotable directamente relacionada con el hecho que |
233 |
-keychain se enganche facilmente a un proceso ssh-agent de larga |
234 |
+keychain se enganche fácilmente a un proceso ssh-agent de larga |
235 |
duración. ¿Que pasaría, pensé, sin algún intruso consiguiera |
236 |
averiguar mi contraseña o frase de acceso a mi sistema local? Si de |
237 |
alguna manera se pudiera acceder bajo mi usuario, keychain les |
238 |
@@ -393,22 +418,22 @@ |
239 |
usted es un intruso, keychain le pedirá las contraseñas en lugar de |
240 |
darle acceso a su actual conjunto de claves en caché. Sin embargo, a |
241 |
pesar de que ello aumenta la seguridad, hace las cosas un poco más |
242 |
-incómodas y muy similar a ejecutar ssh-agent por sí solo, sin |
243 |
+incómodas y muy similar a ejecutar ssh-agent por si solo, sin |
244 |
keychain. En este caso, como suele ser, uno puede optar por una mayor |
245 |
seguridad o mayor comodidad, pero no ambos. |
246 |
</p> |
247 |
|
248 |
<p> |
249 |
A pesar de ello, utilizando kechain con <c>--clear</c> todavía tiene |
250 |
-ventajas sobre el uso de ssh-agent por sí solo; recuerde, cuando se |
251 |
+ventajas sobre el uso de ssh-agent por si solo; recuerde, cuando se |
252 |
usa keychain <c>--clear</c>, sus cron jobs y scripts seguirán siendo |
253 |
capaces de establecer conexiones sin contraseñas; esto es debido a que |
254 |
sus claves privadas son limpiadas en el acceso, no al salir. Desde un |
255 |
cierre de sesión del sistema no constituye una potencial brecha de |
256 |
seguridad, no hay razón para que keychain limpie las claves de |
257 |
ssh-agent. Por lo tanto, la opción <c>--clear</c> es ideal para los |
258 |
-servidores que se acceden con poca frecuencia para llevar a cabo |
259 |
-ocacionales tareas de copia de seguridad, tales como backup de los |
260 |
+sersidores que se acceden con poca frecuencia para llevar a cabo |
261 |
+ocasionales tareas de copia de seguridad, tales como backup de los |
262 |
servidores, cortafuegos y routers. |
263 |
</p> |
264 |
</body> |