2010-11-30 32 views
1

Je tente d'exécuter un script batch Windows tous les soirs pour récupérer une nouvelle copie de données sur mon disque dur local à partir d'un référentiel Mercurial, en écrasant toutes les données que j'ai localement. Le serveur sur lequel se trouve le référentiel contient beaucoup de repos, il est donc situé dans un sous-répertoire sur le serveur. J'ai mis en place PuTTY pour utiliser une clé RSA alors quand je me connecte sur le serveur avec PuTTY, j'ai seulement besoin d'entrer mon nom d'utilisateur.Mercurial Repository Nightly Extraire d'un sous-répertoire sur un serveur

Le script batch a une commande:

hg pull ssh://[email protected]/targetrepo/ 

... mais cela ouvre seulement une invite pour moi d'entrer mon mot de passe. Normalement, ce serait bien, mais parce que le pull sera exécuté à partir d'un script batch, j'ai besoin de l'authentification par clé RSA pour fonctionner.

Comment autoriser un script de traitement par lots dans un sous-répertoire sur le serveur contenant un référentiel Mercurial à s'exécuter sans nécessiter la saisie d'un mot de passe?

+0

Quel client ssh utilisez-vous? – Rudi

+0

@Rudi, j'utilise PuTTY. –

Répondre

2

Vous l'avez dit vous-même - vous avez besoin de l'authentification par clé RSA pour fonctionner. Vous devrez donc déboguer pourquoi cela ne fonctionne pas. Le plus simple serait de voir les logs de sshd côté serveur. Ce sera probablement l'un des

  • Votre clé est pas sur le serveur
  • Le répertoire ~/.ssh ou les autorisations de son contenu sur le serveur sont mal
  • Le démon SSH sur le serveur doesn n'autorise pas l'accès sans mot de passe
  • Ce n'est pas vraiment demander un mot de passe; il demande une phrase secrète pour votre clé
+0

C'est un serveur d'hébergement partagé, donc je n'ai pas accès au syslog. En utilisant PuTTY, je peux utiliser cette clé en entrant seulement mon nom d'utilisateur, donc je suis sûr que cela fonctionne et que les authorized_keys sont présents. Je saisis le mot de passe manuellement et je suis autorisé à entrer, donc je suis sûr qu'il cherche le mot de passe. D'autres suggestions sur la façon de déboguer ce problème? Dois-je avoir un dossier séparé ~/targetrepo/.ssh? –