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}