サーバー上にリモートMercurialリポジトリ(hg-gatewayによって管理)があります。そのサーバーへのアクセスは一般に公開されていません。ただし、ファイアウォールはsshプロキシを許可します。
TortoisehgでそのリポジトリにアクセスするようにWindowsクライアントを構成するにはどうすればよいですか?
this とは異なることに注意してください。その質問では、プロキシは含まれていません。私は同等のウィンドウを探しています
Host remote-dev
user mercurialuser
ProxyCommand ssh -q firewalluser@firewall
次のようなMercurialリポジトリにアクセスするため
hg clone ssh://remote-dev/repo
私は実用的な解決策を見つけました。コミュニティの利益のために、以下の回答に投稿します。
システム管理の前提条件は、この投稿の最後にあります。
puTTYを起動します
remote-dev
」として保存(任意の名前で構いません)22
(またはファイアウォールにSSH接続するのに適切なもの)hg
(またはファイアウォール上のすべてのユーザーが.ssh/authorized_filesにパブリックsshキーを持っている)FULLPATH\plink.exe -v -nc %Host:%port %user@%proxyhost
'に置き換えます(c:\ plink.exeのような実行可能plink.exeのフルパスを使用することに注意してください)あなたは次のようなものを見るはずです
Using username "hg".
Authenticating with public key "imported-openssh-key" from agent
Welcome to XXX code repository server!
Your SSH access is restricted by hg-gateway.
Summary of repos you have access to:
今すぐダウンロードしてインストール tortoisehg
remote-dev
/repo-name
(remote-devは、PuTTYでセッションと呼んだものと一致する必要があります!)ユーザーがリモートリポジトリにアクセスできるようにするには:
hg
の.ssh/authorized_keys
に公開sshキーを追加しますhg-gateway
を使用して、そのユーザーのキーをサーバー上のhg
ユーザーに追加します注:PuTTYは.ppk形式でキーを生成する傾向があります。それらはワンライナーのsshキーに変換する必要があります。 Googleはここであなたの友達です。
仮定:
hg
」という名前のユーザーがいます。その.ssh/autorhized_keys
ファイルには、リポジトリにアクセスする必要があるすべてのユーザーの公開鍵が含まれています。ファイアウォールのファイル/ etc/ssh/sshd_configには、次のような行が含まれています。
Match Group dev
ForceCommand nc -q0 reposerver_ip 22
そのため、ユーザーは接続するホストを指定できません。ユーザー 'hg
'は明らかにunixグループ 'dev
'に属しています。