2011-05-25 14 views
5

Soy un novato de Mercurial y acabo de empezar a usarlo.Tener ssh no pedir una contraseña cada vez con Mercurial

Trabajo en el repositorio local y cuando confirmo cambios utilizo hg <command> ssh://[email protected]/usr/www/site.com/project para empujar, tirar y ver los cambios entrantes/salientes.

Pero cada vez que ssh me piden la contraseña. ¿Hay alguna manera de recordar mi contraseña de ssh para este propósito? Además, ¿cómo no puedo escribir cada vez que el comando completo (ssh: // usuario, etc.)?

+0

¿Qué sistema operativo está utilizando? –

+0

Mac OS X y el servidor ejecuta Debian. –

+0

En relación con su última pregunta, consulte la sección [paths] en el archivo .hg/hgrc. – Ringding

Respuesta

4

Debes configurar tu ssh con las claves públicas. Hay muchos tutoriales en la web, p. ver Getting started with SSH

Una vez que tenga las llaves en su lugar, puede usar ssh-agent para ingresar solo su contraseña de clave privada local una vez por sesión. También hay herramientas de GUI que actúan como ssh-agent (por ejemplo, SSHKeychain en una Mac)

O si tiene pocos requisitos de seguridad, también puede generar su clave sin contraseña.

Pero no almacene contraseñas de texto simple en los archivos de configuración.

Hay dos posibilidades para evitar tener que escribir la URL en cada comando:

De hg help urls

These URLs can all be stored in your hgrc with path aliases under the 
[paths] section like so: 

    [paths] 
    alias1 = URL1 
    alias2 = URL2 
    ... 

La otra posibilidad es usar las rutas predeterminadas:

default: 
    When you create a repository with hg clone, the clone command saves the 
    location of the source repository as the new repository's 'default' 
    path. This is then used when you omit path from push- and pull-like 
    commands (including incoming and outgoing). 

eso es lo que a menudo use, ya que generalmente obtiene la clonación de su directorio de trabajo desde algún lugar y, a partir de ese momento, simplemente no especifico el URL y uso el predeterminado.

Cuestiones relacionadas