Basic認証がかかっているリポジトリにgit・hgでアクセスする際、ユーザ名とパスワードを保存する方法

Basic認証がかかっているリポジトリにgit・hgコマンドやTortoiseGit・TortoiseHgでアクセスする際、毎回認証画面が出て、ユーザ名とパスワードを聞かれる。これを自動化する方法。

Gitの場合

追記 ==================

Git 1.7.9以上であれば「Credential helper」を使うことでnetrcを使わずにすむようです。
GitをHTTP経由で使うときのパスワードを安全に扱いたい – idesaku blog – 

使ってみました。
git credential helperを使ってHTTP越しで認証がかかっているリポジトリにアクセスする | misty-magic.h

======================

参考:Tempus – 昨今明日: git リポジトリを HTTP で公開する設定でハマリました
gitのHTTP認証に絶望した! – 永遠に未完成
Git – How to use .netrc file on windows to save user and password – Stack Overflow

ホームディレクトリにnetrcファイルを作成し、認証情報を書く
設定ファイルの位置

  • $HOME/.netrc(Linux)
  • C:\Documents and Settings\ユーザ名\_netrc (Windows XP以前)
  • C:\Users\ユーザ名\_netrc (Windows Vista以降)

Windowsで環境変数HOMEが定義されていれば上記より優先される。

ファイルは他人に読まれないようにする。

記述内容

machine  リポジトリホスト名
login    HTTP認証のユーザ名
password HTTP認証のパスワード

これを1セットとして、アクセスするサーバ分連ねていく

例)

リポジトリURLがhttp://example.jp/repos/git/~となっているとき

machine  example.jp
login    username
password userpass

Mercurial(hg)の場合

参考:HTTPS ユーザー認証の設定 / hg tip

ホームディレクトリにある設定ファイルにauthセクションを追加する

設定ファイルの位置

  • $HOME/.hgrc(Linux)
  • C:\Documents and Settings\ユーザ名\Mercurial.ini (Windows XP以前)
  • C:\Users\ユーザ名\Mercurial.ini (Windows Vista以降)

Windowsで環境変数HOMEが定義されていれば上記より優先される。

ファイルは他人に読まれないようにする。

記述内容

[auth]
 識別子.prefix   = リモートリポジトリのURLの接頭部分
 識別子.username = HTTP認証のユーザ名
 識別子.password = HTTP認証のパスワード

識別子は適当な名前をつける、これをアクセスするサーバ分連ねていく。

識別子.prefixにマッチするusernameとpasswordが認証に使われる。

例)

リポジトリURLがhttp://example.jp/repos/hg/~となっている場合、識別子とhogeとして

[auth]
hoge.prefix = http://example.jp/repos/hg/
hoge.username = username
hoge.password = userpass

Basic認証がかかっているリポジトリにgit・hgでアクセスする際、ユーザ名とパスワードを保存する方法” への3件のフィードバック

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください