Konfigurieren Sie Mercurial für SSH an einem alternativen Port und einen bestimmten Schlüssel mit einer Passphrase?

3265
NVRAM

Ich versuche, mercurial für die Verwendung auf einem Remote-Computer zu konfigurieren, auf dem sshd an einem alternativen Port ausgeführt wird und für den mein Login einen bestimmten Schlüssel benötigt, der eine Passphrase verwendet. ssh ist konfiguriert und funktioniert einwandfrei wie bei:

 ssh -i ~/.ssh/id_rsa-xyz -p 1234 myuser@barney.example.com 

Mein Problem ist, was in die HGRC- Dateien geht, damit dies entweder mit einem Alias ​​( barney-stuff) oder der Default-Push- Eigenschaft funktioniert :

 hg push barney-alias hg push 

Die meisten ssh- Dokumentationen, die ich für Mercurial gesehen habe, setzen den Standardport und einen vorinstallierten Schlüssel voraus.

Ich habe versucht, dies der hgrc- Datei des Repositorys hinzuzufügen :

 ssh = /usr/bin/ssh -i /home/me/.ssh/id_rsa-xyz -p 1234 default = ssh://myuser@barney.example.com//hgroot/project1 

Aber ein Hg-Push hängt einfach.

5

1 Antwort auf die Frage

3
NVRAM

My bad - the hgrc file should have the sections headers:

 [ui] ssh = /usr/bin/ssh -i /home/me/.ssh/id_rsa-xyz -p 1234 [paths] default = ssh://myuser@barney.example.com//hgroot/project1 

With that change, it gives me the error:

remote: abort: requirement 'fncache' not supported! abort: no suitable response from remote hg! 

Which is because the remote machine only has a pre-1.1 version of Mercurial.