hgbook
changeset 428:35370f1551a7
finished ssh part translation
author | Igor TAmara <igor@tamarapatino.org> |
---|---|
date | Sat Nov 29 02:55:59 2008 -0500 (2008-11-29) |
parents | 4a1dc5e8e2ff |
children | e5c5918e8230 |
files | es/Leame.1st es/collab.tex |
line diff
1.1 --- a/es/Leame.1st Sun Nov 23 23:15:17 2008 -0500 1.2 +++ b/es/Leame.1st Sat Nov 29 02:55:59 2008 -0500 1.3 @@ -103,7 +103,7 @@ 1.4 || tour-merge.tex || Javier Rojas || 100% || 28/10/2008 || 03/11/2008 || 1.5 || concepts.tex || Javier Rojas || 100% || 03/11/2008 || 23/11/2008 || 1.6 || intro.tex || Igor Támara || 100% || 08/11/2008 || 09/11/2008 || 1.7 -|| collab.tex || Igor Támara || 40% || 10/11/2008 || || 1.8 +|| collab.tex || Igor Támara || 58% || 10/11/2008 || || 1.9 1.10 == Archivos en proceso de revisión == 1.11 ||'''archivo''' || '''revisor''' ||'''Estado'''||'''Inicio'''|| '''Fin''' ||
2.1 --- a/es/collab.tex Sun Nov 23 23:15:17 2008 -0500 2.2 +++ b/es/collab.tex Sat Nov 29 02:55:59 2008 -0500 2.3 @@ -435,180 +435,187 @@ 2.4 la ventana en la cual se despliega directamente en el fichero 2.5 \sfilename{authorized\_keys}. 2.6 2.7 -\subsection{Using an authentication agent} 2.8 - 2.9 -An authentication agent is a daemon that stores passphrases in memory 2.10 -(so it will forget passphrases if you log out and log back in again). 2.11 -An ssh client will notice if it's running, and query it for a 2.12 -passphrase. If there's no authentication agent running, or the agent 2.13 -doesn't store the necessary passphrase, you'll have to type your 2.14 -passphrase every time Mercurial tries to communicate with a server on 2.15 -your behalf (e.g.~whenever you pull or push changes). 2.16 - 2.17 -The downside of storing passphrases in an agent is that it's possible 2.18 -for a well-prepared attacker to recover the plain text of your 2.19 -passphrases, in some cases even if your system has been power-cycled. 2.20 -You should make your own judgment as to whether this is an acceptable 2.21 -risk. It certainly saves a lot of repeated typing. 2.22 - 2.23 -On Unix-like systems, the agent is called \command{ssh-agent}, and 2.24 -it's often run automatically for you when you log in. You'll need to 2.25 -use the \command{ssh-add} command to add passphrases to the agent's 2.26 -store. On Windows, if you're using PuTTY, the \command{pageant} 2.27 -command acts as the agent. It adds an icon to your system tray that 2.28 -will let you manage stored passphrases. 2.29 - 2.30 -\subsection{Configuring the server side properly} 2.31 - 2.32 -Because ssh can be fiddly to set up if you're new to it, there's a 2.33 -variety of things that can go wrong. Add Mercurial on top, and 2.34 -there's plenty more scope for head-scratching. Most of these 2.35 -potential problems occur on the server side, not the client side. The 2.36 -good news is that once you've gotten a configuration working, it will 2.37 -usually continue to work indefinitely. 2.38 - 2.39 -Before you try using Mercurial to talk to an ssh server, it's best to 2.40 -make sure that you can use the normal \command{ssh} or \command{putty} 2.41 -command to talk to the server first. If you run into problems with 2.42 -using these commands directly, Mercurial surely won't work. Worse, it 2.43 -will obscure the underlying problem. Any time you want to debug 2.44 -ssh-related Mercurial problems, you should drop back to making sure 2.45 -that plain ssh client commands work first, \emph{before} you worry 2.46 -about whether there's a problem with Mercurial. 2.47 - 2.48 -The first thing to be sure of on the server side is that you can 2.49 -actually log in from another machine at all. If you can't use 2.50 -\command{ssh} or \command{putty} to log in, the error message you get 2.51 -may give you a few hints as to what's wrong. The most common problems 2.52 -are as follows. 2.53 +\subsection{Uso de un agente de autenticación} 2.54 + 2.55 +Un agente de autentitcación es un daemonio que almacena frases clave en 2.56 +memoria(olvidará las frases clave si sale y vuelve a entrar). Un cliente 2.57 +ssh notará si está corriendo, y solicitará una frase clave. Si no hay 2.58 +un agente de autenticación corriendo, o el agente no almacena la frase 2.59 +clave necesaria, tendrá que teclear su frase clave cada vez que 2.60 +Mercurial intente comunicarse con un servidor para usted(p.e.~cada vez 2.61 +que jale o publique cambios). 2.62 + 2.63 +El problema de almacenar frases claves en un agente es que es posible 2.64 +para un atacante bien preparado recuperar el texto plano de su frase 2.65 +clave, en alguntos casos incluso si su sistema sea muy alternante. 2.66 +Es su decisión si es un riesgo aceptable. Lo que si es seguro es que 2.67 +evita reteclear. 2.68 + 2.69 +En sistemas tipo Unix, el agente se llama \command{ssh-agent}, y 2.70 +usualmente se ejecuta automáticamente cuando usted entra. Tendrá que 2.71 +usar la orden \command{ssh-add} para añadir frases claves al agente. En 2.72 +Windows, si está usando PuTTY, la orden \command{pageant} actúa como 2.73 +el agente. Añade un ícono a su barra del sistema que le permitirá 2.74 +almacenar frases clave. 2.75 + 2.76 +\subsection{Configurar el lado del servidor apropiadamente} 2.77 + 2.78 +Dado que puede ser dispendioso configurar ssh si usted es nuevo, hay 2.79 +una variedad de cosas que podrían ir mal. Añada piense primero en 2.80 +Mercurial y hay mucho más en qué pensar. La mayor parte de estos 2.81 +problemas potenciales occuren en el lado del servidor, no en el cliente. 2.82 +Las buenas noticias es que una vez tiene una configuración funcional, 2.83 +usualmente continuará trabajando indefinidamente. 2.84 + 2.85 +Antes de intentar que Mercurial hable con un servidor ssh, es mejor 2.86 +asegurarse que puede usar la orden normal \command{ssh} o \command{putty} 2.87 +para comunicarse con el servidor primero. Si tiene problemas usando 2.88 +estas órdenes directamente, de seguro Mercurial no funcionará. Pero aún, 2.89 +esconderá el problema subyacente. Cuando desee revisar un problema 2.90 +relacionado con ssh y Mercurial, debería asegurarse primero que las 2.91 +órdenes de ssh en el lado del cliente funcionan primero, \emph{antes} 2.92 +de preocuparse por si existe un problema con Mercurial. 2.93 + 2.94 +Lo primero para asegurar en el lado del servidor es que puede entrar 2.95 +desde otra máquina. Si no puede entrar con \command{ssh} o 2.96 +\command{putty}, el mensaje de error que obtenga le puede dar pistas 2.97 +de qué ha ido mal. Los problemas más comunes son los siguientes: 2.98 \begin{itemize} 2.99 -\item If you get a ``connection refused'' error, either there isn't an 2.100 - SSH daemon running on the server at all, or it's inaccessible due to 2.101 - firewall configuration. 2.102 -\item If you get a ``no route to host'' error, you either have an 2.103 - incorrect address for the server or a seriously locked down firewall 2.104 - that won't admit its existence at all. 2.105 -\item If you get a ``permission denied'' error, you may have mistyped 2.106 - the username on the server, or you could have mistyped your key's 2.107 - passphrase or the remote user's password. 2.108 +\item Si obitene un error de ``conexión rehusada'', es posible que no 2.109 + haya un daemonio SSH corriendo en el servidor o que no pueda accederse 2.110 + a él por configuraciones de cortafuegos. 2.111 +\item Si obtiene un error de ``no hay ruta hasta el servidor'', puede 2.112 + tener la dirección del servidor incorrecta o un cortafuegos con 2.113 + bloqueo agresivo que no permitirá su existencia. 2.114 +\item Si obtiene un mensaje de ``permiso denegado'', puede que haya 2.115 + tecleado mal el usuario en el servidor, o que haya tecleado 2.116 + incorrectamente la frase clave o la clave del usuario remoto. 2.117 \end{itemize} 2.118 -In summary, if you're having trouble talking to the server's ssh 2.119 -daemon, first make sure that one is running at all. On many systems 2.120 -it will be installed, but disabled, by default. Once you're done with 2.121 -this step, you should then check that the server's firewall is 2.122 -configured to allow incoming connections on the port the ssh daemon is 2.123 -listening on (usually~22). Don't worry about more exotic 2.124 -possibilities for misconfiguration until you've checked these two 2.125 -first. 2.126 - 2.127 -If you're using an authentication agent on the client side to store 2.128 -passphrases for your keys, you ought to be able to log into the server 2.129 -without being prompted for a passphrase or a password. If you're 2.130 -prompted for a passphrase, there are a few possible culprits. 2.131 +En resumen, si tiene problemas al comunicarse con el daemonio ssh del 2.132 +servidor, primero asegúrese de que está corriendo. En muchos sistemas 2.133 +estará instalado, pero deshabilitado de forma predeterminada. Una vez 2.134 +que haya hecho este paso tendrá que revisar si el cortafuegos del 2.135 +servidor está configurado para recibir conexiones entrantes en el 2.136 +puerto en el cual el daemonio de ssh está escuchando(usualmente el~22). 2.137 +No trate de buscar otras posibilidades exóticas o configuraciones 2.138 +erradas haste que haya revisado primero estas dos. 2.139 + 2.140 +Si está usando un agente de autenticación en el lado del cliente para 2.141 +almacenar las frase claves de sus contraseñas, debería poder entrar al 2.142 +servidor sin necesidad de que se le solicite frases claves o 2.143 +contraseñas. Si se le pregunta alguna, a continuación algunas 2.144 +posibilidades: 2.145 \begin{itemize} 2.146 -\item You might have forgotten to use \command{ssh-add} or 2.147 - \command{pageant} to store the passphrase. 2.148 -\item You might have stored the passphrase for the wrong key. 2.149 +\item Puede haber olvidado usar \command{ssh-add} o 2.150 + \command{pageant} para guardar la frase clave. 2.151 +\item Puede haber almacenado una frase clave errónea para la llave. 2.152 \end{itemize} 2.153 -If you're being prompted for the remote user's password, there are 2.154 -another few possible problems to check. 2.155 +Si se le solicita la clave del usuario remoto, hay otras posibilidades 2.156 +que deben revisarse: 2.157 \begin{itemize} 2.158 -\item Either the user's home directory or their \sdirname{.ssh} 2.159 - directory might have excessively liberal permissions. As a result, 2.160 - the ssh daemon will not trust or read their 2.161 - \sfilename{authorized\_keys} file. For example, a group-writable 2.162 - home or \sdirname{.ssh} directory will often cause this symptom. 2.163 -\item The user's \sfilename{authorized\_keys} file may have a problem. 2.164 - If anyone other than the user owns or can write to that file, the 2.165 - ssh daemon will not trust or read it. 2.166 +\item O bien el directorio del usuario o su directorio \sdirname{.ssh} 2.167 + tiene permisos excesivamente abiertos. Como resultado el daemonio 2.168 + ssh no creerá o leerá su fichero \sfilename{authorized\_keys}. 2.169 + Por ejemplo, un directorio casa o \sdirname{.ssh} causará aveces 2.170 + este síntoma. 2.171 +\item El fichero de usuario \sfilename{authorized\_keys} puede tener 2.172 + un problema. Si alguien distinto al usuario es dueño o puede 2.173 + escribir el archivo, el daemonio ssh no confiará o lo leerá. 2.174 \end{itemize} 2.175 2.176 -In the ideal world, you should be able to run the following command 2.177 -successfully, and it should print exactly one line of output, the 2.178 -current date and time. 2.179 -\begin{codesample2} 2.180 - ssh myserver date 2.181 -\end{codesample2} 2.182 - 2.183 -If, on your server, you have login scripts that print banners or other 2.184 -junk even when running non-interactive commands like this, you should 2.185 -fix them before you continue, so that they only print output if 2.186 -they're run interactively. Otherwise these banners will at least 2.187 -clutter up Mercurial's output. Worse, they could potentially cause 2.188 -problems with running Mercurial commands remotely. Mercurial makes 2.189 -tries to detect and ignore banners in non-interactive \command{ssh} 2.190 -sessions, but it is not foolproof. (If you're editing your login 2.191 -scripts on your server, the usual way to see if a login script is 2.192 -running in an interactive shell is to check the return code from the 2.193 -command \Verb|tty -s|.) 2.194 - 2.195 -Once you've verified that plain old ssh is working with your server, 2.196 -the next step is to ensure that Mercurial runs on the server. The 2.197 -following command should run successfully: 2.198 -\begin{codesample2} 2.199 - ssh myserver hg version 2.200 -\end{codesample2} 2.201 -If you see an error message instead of normal \hgcmd{version} output, 2.202 -this is usually because you haven't installed Mercurial to 2.203 -\dirname{/usr/bin}. Don't worry if this is the case; you don't need 2.204 -to do that. But you should check for a few possible problems. 2.205 +En un mundo ideal, debería poder ejecutar la siguiente orden 2.206 +exitósamente, y debería imprimir exactamente una línea de salida, 2.207 +la fecha y hora actual. 2.208 +\begin{codesample2} 2.209 + ssh miservidor fecha 2.210 +\end{codesample2} 2.211 + 2.212 +Si en su servidor tiene guión que se ejecuta a la entrada e imprimie 2.213 +letreros o cualquier otra cosa, incluso cuando se ejecutan órdenes no 2.214 +interactivas como esta, debería arreglarlo antes de continuar, de 2.215 +forma que solamente imprima algo si se ejecuta interactivamente. De 2.216 +otra forma estos letreros al menos llenarán la salida de Mercurial. 2.217 +incluso podrían causar problemas potenciales cuando se ejecuten 2.218 +órdenes de forma remota. Mercurial intenta detectar e ignorar los 2.219 +letreros en sesiones no interactivas de \command{ssh}, pero no es 2.220 +a prueba de tontos. (Si edita sus guiones de entrada en el servidor, 2.221 +la forma usual de ver si un guión de script se ejecuta en un shell 2.222 +interactivo, es verificar el código de retorno de la orden 2.223 +\Verb|tty -s|.) 2.224 + 2.225 +Cuando verifique que el venerado ssh funciona en su servidor, el 2.226 +paso siguiente es asegurar que Mercurial corre en el servidor. La 2.227 +orden siguiente debería ejecutarse satisfactoriamente: 2.228 +\begin{codesample2} 2.229 + ssh miservidor hg version 2.230 +\end{codesample2} 2.231 +Si ve un mensaje de error en lugar de la salida usual de 2.232 +\hgcmd{version}, será porque no ha instalado Mercurial en 2.233 +\dirname{/usr/bin}. No se preocupe si este es el caso; no necesita 2.234 +hacerlo. Pero debería revisar los posibles problemas presentados a 2.235 +continuación: 2.236 \begin{itemize} 2.237 -\item Is Mercurial really installed on the server at all? I know this 2.238 - sounds trivial, but it's worth checking! 2.239 -\item Maybe your shell's search path (usually set via the \envar{PATH} 2.240 - environment variable) is simply misconfigured. 2.241 -\item Perhaps your \envar{PATH} environment variable is only being set 2.242 - to point to the location of the \command{hg} executable if the login 2.243 - session is interactive. This can happen if you're setting the path 2.244 - in the wrong shell login script. See your shell's documentation for 2.245 - details. 2.246 -\item The \envar{PYTHONPATH} environment variable may need to contain 2.247 - the path to the Mercurial Python modules. It might not be set at 2.248 - all; it could be incorrect; or it may be set only if the login is 2.249 - interactive. 2.250 +\item Está instalado Mercurial en el servidor? Se que suena trivial 2.251 + pero es mejor revisar! 2.252 +\item Tal vez la ruta de búsqueda de la interfaz de órdenes 2.253 + (normalmente vía la variable de ambiente \envar{PATH}) simplemente 2.254 + está mal configurada. 2.255 +\item Puede ser que su variable de ambiente \envar{PATH} soalamente 2.256 + apunte al lugar en el cual está el ejecutable \command{hg} si la 2.257 + sesión de entrada es interactiva. Puede suceder si establece la 2.258 + ruta en el guión de shell de entrada incorrecto. Consulte la 2.259 + documentación de su línea de órdenes. 2.260 +\item La variable de ambiente \envar{PYTHONPATH} puede requerir la 2.261 + ruta a los módulos de Mercurial en Python. Puede que nisiquiera 2.262 + está establecida; podría estar incorrecta; o puede ser que se 2.263 + establezca únicamente cuando hay entradas interactivas. 2.264 \end{itemize} 2.265 2.266 -If you can run \hgcmd{version} over an ssh connection, well done! 2.267 -You've got the server and client sorted out. You should now be able 2.268 -to use Mercurial to access repositories hosted by that username on 2.269 -that server. If you run into problems with Mercurial and ssh at this 2.270 -point, try using the \hggopt{--debug} option to get a clearer picture 2.271 -of what's going on. 2.272 - 2.273 -\subsection{Using compression with ssh} 2.274 - 2.275 -Mercurial does not compress data when it uses the ssh protocol, 2.276 -because the ssh protocol can transparently compress data. However, 2.277 -the default behaviour of ssh clients is \emph{not} to request 2.278 -compression. 2.279 - 2.280 -Over any network other than a fast LAN (even a wireless network), 2.281 -using compression is likely to significantly speed up Mercurial's 2.282 -network operations. For example, over a WAN, someone measured 2.283 -compression as reducing the amount of time required to clone a 2.284 -particularly large repository from~51 minutes to~17 minutes. 2.285 - 2.286 -Both \command{ssh} and \command{plink} accept a \cmdopt{ssh}{-C} 2.287 -option which turns on compression. You can easily edit your \hgrc\ to 2.288 -enable compression for all of Mercurial's uses of the ssh protocol. 2.289 +Si puede ejecutar \hgcmd{version} sobre una conexión ssh, 2.290 +felicitaciones! Ha logrado la interacción entre el cliente y el 2.291 +servidor. Ahora debería poder acceder a los repositorios de 2.292 +Mercurial que tiene el usuario en el servidor. Si tiene problemas 2.293 +con Mercurial y ssh en este punto, intente usar la opción 2.294 +\hggopt{--debug} para tener información más clara de lo que está 2.295 +sucediendo. 2.296 + 2.297 +\subsection{Compresión con ssh} 2.298 + 2.299 +Mercurial no comprime datos cuando usa el protocolo ssh, dado que 2.300 +el protocolo puede comprimir datos transparentemente. Pero el 2.301 +comportamiento predeterminado del cliente ssh es \emph{no} 2.302 +solicitar compresión. 2.303 + 2.304 +Sobre cualquier red distinta a una LAN rápida(incluso con una red 2.305 +inalámbrica), hacer uso de compresión puede mejorar el rendimiento 2.306 +de las operaciones de Mercurial que involucren la red. Por ejemplo, 2.307 +sobre WAN, alguien ha medido la compresión reduciendo la cantidad 2.308 +de tiempo requerido para clonar un repositorio particularmente 2.309 +grande de~51 minutos a~17 minutos. 2.310 + 2.311 +Tanto \command{ssh} como \command{plink} aceptan la opción 2.312 +\cmdopt{ssh}{-C} que activa la compresión. Puede editar fácilmente 2.313 +su \hgrc\ para habilitar la compresión para todos los usos de 2.314 +Mercurial sobre el protocolo ssh. 2.315 \begin{codesample2} 2.316 [ui] 2.317 ssh = ssh -C 2.318 \end{codesample2} 2.319 2.320 -If you use \command{ssh}, you can configure it to always use 2.321 -compression when talking to your server. To do this, edit your 2.322 -\sfilename{.ssh/config} file (which may not yet exist), as follows. 2.323 +Si usa \command{ssh}, puede reconfigurarlo para que siempre use 2.324 +compresión cuando se comunique con su servidor. Para hacerlo, 2.325 +edite su fichero \sfilename{.ssh/config}(que puede no existir 2.326 +aún), de la siguiente forma: 2.327 \begin{codesample2} 2.328 Host hg 2.329 Compression yes 2.330 - HostName hg.example.com 2.331 -\end{codesample2} 2.332 -This defines an alias, \texttt{hg}. When you use it on the 2.333 -\command{ssh} command line or in a Mercurial \texttt{ssh}-protocol 2.334 -URL, it will cause \command{ssh} to connect to \texttt{hg.example.com} 2.335 -and use compression. This gives you both a shorter name to type and 2.336 -compression, each of which is a good thing in its own right. 2.337 + HostName hg.ejemplo.com 2.338 +\end{codesample2} 2.339 +Que define un alias, \texttt{hg}. Cuando lo usa con la orden 2.340 +\command{ssh} o con una URL de Mercurial con protocolo\texttt{ssh}, 2.341 +logrará que \command{ssh} se conecte a \texttt{hg.ejemplo.com} 2.342 +con compresión. Que le dará un nombre más corto para teclear y 2.343 +compresión, los cuales por derecho propio son buenos. 2.344 2.345 \section{Serving over HTTP using CGI} 2.346 \label{sec:collab:cgi}