Mercurial > hgbook
comparison es/collab.tex @ 527:35370f1551a7
finished ssh part translation
author | Igor TAmara <igor@tamarapatino.org> |
---|---|
date | Sat, 29 Nov 2008 02:55:59 -0500 |
parents | 4a1dc5e8e2ff |
children | e5c5918e8230 |
comparison
equal
deleted
inserted
replaced
526:4a1dc5e8e2ff | 527:35370f1551a7 |
---|---|
433 \filename{.pub}. Si usa \command{puttygen} en Windows, puede | 433 \filename{.pub}. Si usa \command{puttygen} en Windows, puede |
434 guardar la llave pública en un fichero de su elección, o pegarla desde | 434 guardar la llave pública en un fichero de su elección, o pegarla desde |
435 la ventana en la cual se despliega directamente en el fichero | 435 la ventana en la cual se despliega directamente en el fichero |
436 \sfilename{authorized\_keys}. | 436 \sfilename{authorized\_keys}. |
437 | 437 |
438 \subsection{Using an authentication agent} | 438 \subsection{Uso de un agente de autenticación} |
439 | 439 |
440 An authentication agent is a daemon that stores passphrases in memory | 440 Un agente de autentitcación es un daemonio que almacena frases clave en |
441 (so it will forget passphrases if you log out and log back in again). | 441 memoria(olvidará las frases clave si sale y vuelve a entrar). Un cliente |
442 An ssh client will notice if it's running, and query it for a | 442 ssh notará si está corriendo, y solicitará una frase clave. Si no hay |
443 passphrase. If there's no authentication agent running, or the agent | 443 un agente de autenticación corriendo, o el agente no almacena la frase |
444 doesn't store the necessary passphrase, you'll have to type your | 444 clave necesaria, tendrá que teclear su frase clave cada vez que |
445 passphrase every time Mercurial tries to communicate with a server on | 445 Mercurial intente comunicarse con un servidor para usted(p.e.~cada vez |
446 your behalf (e.g.~whenever you pull or push changes). | 446 que jale o publique cambios). |
447 | 447 |
448 The downside of storing passphrases in an agent is that it's possible | 448 El problema de almacenar frases claves en un agente es que es posible |
449 for a well-prepared attacker to recover the plain text of your | 449 para un atacante bien preparado recuperar el texto plano de su frase |
450 passphrases, in some cases even if your system has been power-cycled. | 450 clave, en alguntos casos incluso si su sistema sea muy alternante. |
451 You should make your own judgment as to whether this is an acceptable | 451 Es su decisión si es un riesgo aceptable. Lo que si es seguro es que |
452 risk. It certainly saves a lot of repeated typing. | 452 evita reteclear. |
453 | 453 |
454 On Unix-like systems, the agent is called \command{ssh-agent}, and | 454 En sistemas tipo Unix, el agente se llama \command{ssh-agent}, y |
455 it's often run automatically for you when you log in. You'll need to | 455 usualmente se ejecuta automáticamente cuando usted entra. Tendrá que |
456 use the \command{ssh-add} command to add passphrases to the agent's | 456 usar la orden \command{ssh-add} para añadir frases claves al agente. En |
457 store. On Windows, if you're using PuTTY, the \command{pageant} | 457 Windows, si está usando PuTTY, la orden \command{pageant} actúa como |
458 command acts as the agent. It adds an icon to your system tray that | 458 el agente. Añade un ícono a su barra del sistema que le permitirá |
459 will let you manage stored passphrases. | 459 almacenar frases clave. |
460 | 460 |
461 \subsection{Configuring the server side properly} | 461 \subsection{Configurar el lado del servidor apropiadamente} |
462 | 462 |
463 Because ssh can be fiddly to set up if you're new to it, there's a | 463 Dado que puede ser dispendioso configurar ssh si usted es nuevo, hay |
464 variety of things that can go wrong. Add Mercurial on top, and | 464 una variedad de cosas que podrían ir mal. Añada piense primero en |
465 there's plenty more scope for head-scratching. Most of these | 465 Mercurial y hay mucho más en qué pensar. La mayor parte de estos |
466 potential problems occur on the server side, not the client side. The | 466 problemas potenciales occuren en el lado del servidor, no en el cliente. |
467 good news is that once you've gotten a configuration working, it will | 467 Las buenas noticias es que una vez tiene una configuración funcional, |
468 usually continue to work indefinitely. | 468 usualmente continuará trabajando indefinidamente. |
469 | 469 |
470 Before you try using Mercurial to talk to an ssh server, it's best to | 470 Antes de intentar que Mercurial hable con un servidor ssh, es mejor |
471 make sure that you can use the normal \command{ssh} or \command{putty} | 471 asegurarse que puede usar la orden normal \command{ssh} o \command{putty} |
472 command to talk to the server first. If you run into problems with | 472 para comunicarse con el servidor primero. Si tiene problemas usando |
473 using these commands directly, Mercurial surely won't work. Worse, it | 473 estas órdenes directamente, de seguro Mercurial no funcionará. Pero aún, |
474 will obscure the underlying problem. Any time you want to debug | 474 esconderá el problema subyacente. Cuando desee revisar un problema |
475 ssh-related Mercurial problems, you should drop back to making sure | 475 relacionado con ssh y Mercurial, debería asegurarse primero que las |
476 that plain ssh client commands work first, \emph{before} you worry | 476 órdenes de ssh en el lado del cliente funcionan primero, \emph{antes} |
477 about whether there's a problem with Mercurial. | 477 de preocuparse por si existe un problema con Mercurial. |
478 | 478 |
479 The first thing to be sure of on the server side is that you can | 479 Lo primero para asegurar en el lado del servidor es que puede entrar |
480 actually log in from another machine at all. If you can't use | 480 desde otra máquina. Si no puede entrar con \command{ssh} o |
481 \command{ssh} or \command{putty} to log in, the error message you get | 481 \command{putty}, el mensaje de error que obtenga le puede dar pistas |
482 may give you a few hints as to what's wrong. The most common problems | 482 de qué ha ido mal. Los problemas más comunes son los siguientes: |
483 are as follows. | |
484 \begin{itemize} | 483 \begin{itemize} |
485 \item If you get a ``connection refused'' error, either there isn't an | 484 \item Si obitene un error de ``conexión rehusada'', es posible que no |
486 SSH daemon running on the server at all, or it's inaccessible due to | 485 haya un daemonio SSH corriendo en el servidor o que no pueda accederse |
487 firewall configuration. | 486 a él por configuraciones de cortafuegos. |
488 \item If you get a ``no route to host'' error, you either have an | 487 \item Si obtiene un error de ``no hay ruta hasta el servidor'', puede |
489 incorrect address for the server or a seriously locked down firewall | 488 tener la dirección del servidor incorrecta o un cortafuegos con |
490 that won't admit its existence at all. | 489 bloqueo agresivo que no permitirá su existencia. |
491 \item If you get a ``permission denied'' error, you may have mistyped | 490 \item Si obtiene un mensaje de ``permiso denegado'', puede que haya |
492 the username on the server, or you could have mistyped your key's | 491 tecleado mal el usuario en el servidor, o que haya tecleado |
493 passphrase or the remote user's password. | 492 incorrectamente la frase clave o la clave del usuario remoto. |
494 \end{itemize} | 493 \end{itemize} |
495 In summary, if you're having trouble talking to the server's ssh | 494 En resumen, si tiene problemas al comunicarse con el daemonio ssh del |
496 daemon, first make sure that one is running at all. On many systems | 495 servidor, primero asegúrese de que está corriendo. En muchos sistemas |
497 it will be installed, but disabled, by default. Once you're done with | 496 estará instalado, pero deshabilitado de forma predeterminada. Una vez |
498 this step, you should then check that the server's firewall is | 497 que haya hecho este paso tendrá que revisar si el cortafuegos del |
499 configured to allow incoming connections on the port the ssh daemon is | 498 servidor está configurado para recibir conexiones entrantes en el |
500 listening on (usually~22). Don't worry about more exotic | 499 puerto en el cual el daemonio de ssh está escuchando(usualmente el~22). |
501 possibilities for misconfiguration until you've checked these two | 500 No trate de buscar otras posibilidades exóticas o configuraciones |
502 first. | 501 erradas haste que haya revisado primero estas dos. |
503 | 502 |
504 If you're using an authentication agent on the client side to store | 503 Si está usando un agente de autenticación en el lado del cliente para |
505 passphrases for your keys, you ought to be able to log into the server | 504 almacenar las frase claves de sus contraseñas, debería poder entrar al |
506 without being prompted for a passphrase or a password. If you're | 505 servidor sin necesidad de que se le solicite frases claves o |
507 prompted for a passphrase, there are a few possible culprits. | 506 contraseñas. Si se le pregunta alguna, a continuación algunas |
507 posibilidades: | |
508 \begin{itemize} | 508 \begin{itemize} |
509 \item You might have forgotten to use \command{ssh-add} or | 509 \item Puede haber olvidado usar \command{ssh-add} o |
510 \command{pageant} to store the passphrase. | 510 \command{pageant} para guardar la frase clave. |
511 \item You might have stored the passphrase for the wrong key. | 511 \item Puede haber almacenado una frase clave errónea para la llave. |
512 \end{itemize} | 512 \end{itemize} |
513 If you're being prompted for the remote user's password, there are | 513 Si se le solicita la clave del usuario remoto, hay otras posibilidades |
514 another few possible problems to check. | 514 que deben revisarse: |
515 \begin{itemize} | 515 \begin{itemize} |
516 \item Either the user's home directory or their \sdirname{.ssh} | 516 \item O bien el directorio del usuario o su directorio \sdirname{.ssh} |
517 directory might have excessively liberal permissions. As a result, | 517 tiene permisos excesivamente abiertos. Como resultado el daemonio |
518 the ssh daemon will not trust or read their | 518 ssh no creerá o leerá su fichero \sfilename{authorized\_keys}. |
519 \sfilename{authorized\_keys} file. For example, a group-writable | 519 Por ejemplo, un directorio casa o \sdirname{.ssh} causará aveces |
520 home or \sdirname{.ssh} directory will often cause this symptom. | 520 este síntoma. |
521 \item The user's \sfilename{authorized\_keys} file may have a problem. | 521 \item El fichero de usuario \sfilename{authorized\_keys} puede tener |
522 If anyone other than the user owns or can write to that file, the | 522 un problema. Si alguien distinto al usuario es dueño o puede |
523 ssh daemon will not trust or read it. | 523 escribir el archivo, el daemonio ssh no confiará o lo leerá. |
524 \end{itemize} | 524 \end{itemize} |
525 | 525 |
526 In the ideal world, you should be able to run the following command | 526 En un mundo ideal, debería poder ejecutar la siguiente orden |
527 successfully, and it should print exactly one line of output, the | 527 exitósamente, y debería imprimir exactamente una línea de salida, |
528 current date and time. | 528 la fecha y hora actual. |
529 \begin{codesample2} | 529 \begin{codesample2} |
530 ssh myserver date | 530 ssh miservidor fecha |
531 \end{codesample2} | 531 \end{codesample2} |
532 | 532 |
533 If, on your server, you have login scripts that print banners or other | 533 Si en su servidor tiene guión que se ejecuta a la entrada e imprimie |
534 junk even when running non-interactive commands like this, you should | 534 letreros o cualquier otra cosa, incluso cuando se ejecutan órdenes no |
535 fix them before you continue, so that they only print output if | 535 interactivas como esta, debería arreglarlo antes de continuar, de |
536 they're run interactively. Otherwise these banners will at least | 536 forma que solamente imprima algo si se ejecuta interactivamente. De |
537 clutter up Mercurial's output. Worse, they could potentially cause | 537 otra forma estos letreros al menos llenarán la salida de Mercurial. |
538 problems with running Mercurial commands remotely. Mercurial makes | 538 incluso podrían causar problemas potenciales cuando se ejecuten |
539 tries to detect and ignore banners in non-interactive \command{ssh} | 539 órdenes de forma remota. Mercurial intenta detectar e ignorar los |
540 sessions, but it is not foolproof. (If you're editing your login | 540 letreros en sesiones no interactivas de \command{ssh}, pero no es |
541 scripts on your server, the usual way to see if a login script is | 541 a prueba de tontos. (Si edita sus guiones de entrada en el servidor, |
542 running in an interactive shell is to check the return code from the | 542 la forma usual de ver si un guión de script se ejecuta en un shell |
543 command \Verb|tty -s|.) | 543 interactivo, es verificar el código de retorno de la orden |
544 | 544 \Verb|tty -s|.) |
545 Once you've verified that plain old ssh is working with your server, | 545 |
546 the next step is to ensure that Mercurial runs on the server. The | 546 Cuando verifique que el venerado ssh funciona en su servidor, el |
547 following command should run successfully: | 547 paso siguiente es asegurar que Mercurial corre en el servidor. La |
548 \begin{codesample2} | 548 orden siguiente debería ejecutarse satisfactoriamente: |
549 ssh myserver hg version | 549 \begin{codesample2} |
550 \end{codesample2} | 550 ssh miservidor hg version |
551 If you see an error message instead of normal \hgcmd{version} output, | 551 \end{codesample2} |
552 this is usually because you haven't installed Mercurial to | 552 Si ve un mensaje de error en lugar de la salida usual de |
553 \dirname{/usr/bin}. Don't worry if this is the case; you don't need | 553 \hgcmd{version}, será porque no ha instalado Mercurial en |
554 to do that. But you should check for a few possible problems. | 554 \dirname{/usr/bin}. No se preocupe si este es el caso; no necesita |
555 hacerlo. Pero debería revisar los posibles problemas presentados a | |
556 continuación: | |
555 \begin{itemize} | 557 \begin{itemize} |
556 \item Is Mercurial really installed on the server at all? I know this | 558 \item Está instalado Mercurial en el servidor? Se que suena trivial |
557 sounds trivial, but it's worth checking! | 559 pero es mejor revisar! |
558 \item Maybe your shell's search path (usually set via the \envar{PATH} | 560 \item Tal vez la ruta de búsqueda de la interfaz de órdenes |
559 environment variable) is simply misconfigured. | 561 (normalmente vía la variable de ambiente \envar{PATH}) simplemente |
560 \item Perhaps your \envar{PATH} environment variable is only being set | 562 está mal configurada. |
561 to point to the location of the \command{hg} executable if the login | 563 \item Puede ser que su variable de ambiente \envar{PATH} soalamente |
562 session is interactive. This can happen if you're setting the path | 564 apunte al lugar en el cual está el ejecutable \command{hg} si la |
563 in the wrong shell login script. See your shell's documentation for | 565 sesión de entrada es interactiva. Puede suceder si establece la |
564 details. | 566 ruta en el guión de shell de entrada incorrecto. Consulte la |
565 \item The \envar{PYTHONPATH} environment variable may need to contain | 567 documentación de su línea de órdenes. |
566 the path to the Mercurial Python modules. It might not be set at | 568 \item La variable de ambiente \envar{PYTHONPATH} puede requerir la |
567 all; it could be incorrect; or it may be set only if the login is | 569 ruta a los módulos de Mercurial en Python. Puede que nisiquiera |
568 interactive. | 570 está establecida; podría estar incorrecta; o puede ser que se |
571 establezca únicamente cuando hay entradas interactivas. | |
569 \end{itemize} | 572 \end{itemize} |
570 | 573 |
571 If you can run \hgcmd{version} over an ssh connection, well done! | 574 Si puede ejecutar \hgcmd{version} sobre una conexión ssh, |
572 You've got the server and client sorted out. You should now be able | 575 felicitaciones! Ha logrado la interacción entre el cliente y el |
573 to use Mercurial to access repositories hosted by that username on | 576 servidor. Ahora debería poder acceder a los repositorios de |
574 that server. If you run into problems with Mercurial and ssh at this | 577 Mercurial que tiene el usuario en el servidor. Si tiene problemas |
575 point, try using the \hggopt{--debug} option to get a clearer picture | 578 con Mercurial y ssh en este punto, intente usar la opción |
576 of what's going on. | 579 \hggopt{--debug} para tener información más clara de lo que está |
577 | 580 sucediendo. |
578 \subsection{Using compression with ssh} | 581 |
579 | 582 \subsection{Compresión con ssh} |
580 Mercurial does not compress data when it uses the ssh protocol, | 583 |
581 because the ssh protocol can transparently compress data. However, | 584 Mercurial no comprime datos cuando usa el protocolo ssh, dado que |
582 the default behaviour of ssh clients is \emph{not} to request | 585 el protocolo puede comprimir datos transparentemente. Pero el |
583 compression. | 586 comportamiento predeterminado del cliente ssh es \emph{no} |
584 | 587 solicitar compresión. |
585 Over any network other than a fast LAN (even a wireless network), | 588 |
586 using compression is likely to significantly speed up Mercurial's | 589 Sobre cualquier red distinta a una LAN rápida(incluso con una red |
587 network operations. For example, over a WAN, someone measured | 590 inalámbrica), hacer uso de compresión puede mejorar el rendimiento |
588 compression as reducing the amount of time required to clone a | 591 de las operaciones de Mercurial que involucren la red. Por ejemplo, |
589 particularly large repository from~51 minutes to~17 minutes. | 592 sobre WAN, alguien ha medido la compresión reduciendo la cantidad |
590 | 593 de tiempo requerido para clonar un repositorio particularmente |
591 Both \command{ssh} and \command{plink} accept a \cmdopt{ssh}{-C} | 594 grande de~51 minutos a~17 minutos. |
592 option which turns on compression. You can easily edit your \hgrc\ to | 595 |
593 enable compression for all of Mercurial's uses of the ssh protocol. | 596 Tanto \command{ssh} como \command{plink} aceptan la opción |
597 \cmdopt{ssh}{-C} que activa la compresión. Puede editar fácilmente | |
598 su \hgrc\ para habilitar la compresión para todos los usos de | |
599 Mercurial sobre el protocolo ssh. | |
594 \begin{codesample2} | 600 \begin{codesample2} |
595 [ui] | 601 [ui] |
596 ssh = ssh -C | 602 ssh = ssh -C |
597 \end{codesample2} | 603 \end{codesample2} |
598 | 604 |
599 If you use \command{ssh}, you can configure it to always use | 605 Si usa \command{ssh}, puede reconfigurarlo para que siempre use |
600 compression when talking to your server. To do this, edit your | 606 compresión cuando se comunique con su servidor. Para hacerlo, |
601 \sfilename{.ssh/config} file (which may not yet exist), as follows. | 607 edite su fichero \sfilename{.ssh/config}(que puede no existir |
608 aún), de la siguiente forma: | |
602 \begin{codesample2} | 609 \begin{codesample2} |
603 Host hg | 610 Host hg |
604 Compression yes | 611 Compression yes |
605 HostName hg.example.com | 612 HostName hg.ejemplo.com |
606 \end{codesample2} | 613 \end{codesample2} |
607 This defines an alias, \texttt{hg}. When you use it on the | 614 Que define un alias, \texttt{hg}. Cuando lo usa con la orden |
608 \command{ssh} command line or in a Mercurial \texttt{ssh}-protocol | 615 \command{ssh} o con una URL de Mercurial con protocolo\texttt{ssh}, |
609 URL, it will cause \command{ssh} to connect to \texttt{hg.example.com} | 616 logrará que \command{ssh} se conecte a \texttt{hg.ejemplo.com} |
610 and use compression. This gives you both a shorter name to type and | 617 con compresión. Que le dará un nombre más corto para teclear y |
611 compression, each of which is a good thing in its own right. | 618 compresión, los cuales por derecho propio son buenos. |
612 | 619 |
613 \section{Serving over HTTP using CGI} | 620 \section{Serving over HTTP using CGI} |
614 \label{sec:collab:cgi} | 621 \label{sec:collab:cgi} |
615 | 622 |
616 Depending on how ambitious you are, configuring Mercurial's CGI | 623 Depending on how ambitious you are, configuring Mercurial's CGI |