私は--insecure
オプションをhg
\TortoiseHgコマンドのデフォルトのオプションにする方法を探しています。
これは悪い習慣だと書かないでください-私は起こりうるリスクを認識し、それらが完全に受け入れられると考えます。
[web]
セクションのcacerts
を空の文字列に設定するのも同じことです。 ソース から:
if cmdoptions.get('insecure', False):
ui.setconfig('web', 'cacerts', '!', '--insecure')
これは wikiが確認します :
自己署名証明書を持つホストを扱う場合など、セキュリティチェックを無効にすると便利な場合があります。これは、コマンドラインでCA証明書の構成を無効にすることで実行できます。
hg Push --config web.cacerts = https:// self-signed-Host/repo
したがって、cacerts=!
をグローバルhgrcの[web]
セクションに配置すると(Linuxライクでは/etc/Mercurial/hgrc
)、そこに到達します。
プッシュ/プル中の証明書のフィンガープリント警告を排除することが目標である場合、これを行うためのより良い方法があります。 .hg/hgrc(または〜/ .hgrc-コメントを参照)の[hostfingerprints]を使用します。
[hostfingerprints]
server.example.org = 38:76:52:7c:87:26:9a:8f:4a:f8:d3:de:08:45:3b:ea:d6:4b:ee:cc
これにより、セキュリティチェックを排除せずに警告が排除されます。
注:別の回答へのコメントから、この解決策を既に見つけていることがわかります。他の誰かが同じ問題を抱えている場合に備えて、とにかくこれを投稿しています。
aliases を使用してそれを実現できます。これを.hgrc
に追加します:
[alias]
Push = Push --insecure
問題は、使用するコマンドごとにこれを実行する必要があることです。エイリアスには、デフォルトとは異なる名前を使用することをお勧めします。
私の知る限り、すべてのコマンドに対して「自動的に」--insecure
を強制する方法はありません。
ブルース・アルダーマンの答え で指摘したように、_--insecure
_オプションを使用する代わりに、ホストの指紋を_~/.hgrc
_ファイル。 (おそらく、セキュリティリスクのために_.hg/hgrc
_に追加することは禁止されています。)_[hostfingerprints]
_セクションは非推奨になりました。
以下を_~/.hgrc
_に追加します。
_[hostsecurity]
<Host>:fingerprints=sha256:<hash>
_
ここで、_<Host>
_は(_https://
_プレフィックスなしで)ホスト名に置き換えられ、_<hash>
_はSHA-256指紋(32バイト、_:
_- 16進数で区切られます)。次の出力 SHA-256指紋コマンド
_openssl s_client -connect <Host>:<port> < /dev/null 2>/dev/null | openssl x509 -fingerprint -sha256 -noout -in /dev/stdin
_
_<Host>
_と_<port>
_を代入した後の形式は
_SHA256 Fingerprint=<hash>
_
たとえば、ローカルマシンから実行される自己署名証明書の場合、_~/.hgrc
_に次のようなエントリが含まれる場合があります。
_[hostsecurity]
localhost:fingerprints=sha256:DD:30:5A:9B:2C:E1:59:7E:46:C4:42:D3:41:34:03:17:2A:CF:50:E8:DF:78:E6:2E:C9:42:D9:9A:C9:58:AC:52
_
セキュリティで保護された接続に関する Mercurialのページには、さらにドキュメントがあります。