TortoiseGitで毎回パスワードを聞かれるので、sshクライアントを使って認証key設定して省略する方法

Git
スポンサーリンク

バージョン管理システムとして使っているリポジトリを、SubversionからGitに変更しました。

それに伴い、クライアントをTortoiseSVNからTortoiseGitに変えて使ってみました。

TortoiseGitについては以下にまとめました。

Tortise Git (トータスGit、トータスギット) とは?亀のように遅いGitのクライアントの使い方
Gitのクライアントのラッパーシェルである、TortoiseGitを使ってみました。 TortoiseGitの読み方は、トータスギットです。 TortoiseGit (トータスGit)とは GitはLinuxの創始者であるLinus T...

 

TorgoiseGitでは、TortoiseSVNと異なり、リポジトリーに接続する都度、パスワード入力を求められます。

 

さすがに毎回、パスワードを入力するのは面倒なので、今回、パスワードの入力をスキップする方法を調べてみました。

 

スポンサーリンク

TortoiseGitでパスワード入力をなくすのは難しい

SubversionのクライアントであるTortoiseSVNの場合、パスワードをスキップするには設定画面を開きます。

 

 

Network ⇒ SSH Clientで

C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe -pw xxxxx

 

のように、pwオプションでパスワードを引数にすることによりパスワード入力をなくすことが出来ます。

 

 

Gitでも同じことが出来るだろうと思い、TortoiseGit で、設定画面を開きます。

 

 

Network ⇒ SSH Clientで

C:\Program Files\TortoiseGit\bin\TortoiseGitPlink.exe -pw xxxxx

 

のように、pwオプションを付けて実行してみると、以下のようにエラーが表示されます。

 

 

 

 

SSHのクライアントとして以下を試してみても結果は同じでした。

C:\Program Files\TortoiseGit\bin\TortoisePlink.exe

(TortoiseGit付属で、互換性保持のためのインストールされる古いsshクライアント)

 

 

C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe

(TortoiseSVN付属のsshクライアント)

 

_netrcやWindows Crendential Store for Gitを使ってもパスワードを求められる

いろいろと調べてみたところ、以下の方法で、パスワードの入力を回避できるらしいので試してみました。

 

_netrc

%USERPROFILE%\ディレクトリー(Windows 7,8 だと ”C:\Users\ユーザー名”)

に、_netrc というファイルを置いて、以下のように記述します。

 

 

これでパスワードを聞かれないはずって思いきや、やはりパスワード入力を求められます。。

 

Windows Crendential Store for Git

https://gitcredentialstore.codeplex.com/

から

git-credential-winstore.exe

というインストーラーをダウンロードしてインストールします。

 

この後、以下のコマンドを実行します。

 

 

これでパスワードが保存されるはずって思いきや、やはりパスワード入力を求められます。。

何か設定が間違っているんでしょうか?

 

困った。。

どうしようもなくなって来ました。

最後、秘密鍵と公開鍵を設定する方法を使うとパスワードをスキップすることが出来ました。

秘密鍵と公開鍵の設定でTortoiseGitでパスワードをスキップ可能

秘密鍵と公開鍵の生成

Windowsの「スタートメニュー」から「TortoiseGit」を開き、「PuTTYgen」を起動します。

 

 

 

 

「Generate」を押してからマウスを左右に動かします

 

 

マウスを左右に動かすことにより、キーが生成されます。

 

 

秘密鍵を保存するために、「Save private key」を押すと以下のダイアログが表示されます。

 

 

「はい(Y)」を押します。

 

 

C:\Users\(ユーザー名)\private.ppk

というファイルを「保存(S)」します。

 

 

次に公開鍵を保存するために、「Save public key」を押します。

 

 

C:\Users\(ユーザー名)\public.key

というファイルを「保存(S)」します。

 

TortoiseGitで秘密鍵の設定

エクスプローラーを起動して「Git Clone…」を押します。

 

 

「Load Putty Key」のところで、先ほど作成した「private.ppk」を設定して「OK」を押します。

 

 

sshで利用する認証鍵の生成とサーバーへの転送

Windowsの「スタートメニュー」から「Git」を開き、「Git Bash」を起動します。

 

 

Git Bashでカレントディレクトリが、

C:\Users\(ユーザー名)

であることを確認します。

 

 

sshで利用する認証鍵を生成します。

 

 

 

生成した認証鍵をサーバーに転送します。


サーバーのユーザーホーム

/home/(ユーザー名)/.ssh

というディレクトリが存在しない場合は、作成しておきます。

 

 

どうやら、この方法でTortoiseGitで毎回パスワードを聞かれて入力することを省略できるので、おすすめらしいです。

 

現在は、GitLabを使って運用していますが、本質的にやることは同じようです。

GitLabをTortoiseGitで使うとパスワードを要求される、保存・記憶と省略方法
GitLabを導入して使い始めたのですが、クライアントとしてTortoiseGitを使うとパスワードの要求画面が表示されて困ってしまいました。 今回、パスワードを保存、省略する方法についてまとめてみました。 GitLabの導入について...

まとめ

TortoiseGitで毎回、リポジトリのパスワード入力が求められるのは仕様なのかどうなのかわかりません。

 

さすがに毎回聞かれるのは不便だと思うんですけどね。

今回、ご紹介した方法では、当然ながら、別のパソコンからは使えません。

もっと手軽に便利な方法があってしかるべきだと思うんだけど、調べ方がまずいのかな。

 

Gitについてのおすすめの本

 

↓Gitについてのおすすめの本はコチラ

Git

 

 

コメント