TortoiseGit - コマンドラインからパスワードなしで実行

Windows TortoiseGitをインストールすると、恐らくデフォルトで次のフォルダーにgitやsshの実行ファイルが配置される。

C:\Program Files (x86)\Git\bin

もしされない場合は、https://git-scm.com/等からgitをインストールする。この場合はsshは、C:\Program Files (x86)\Git\usr\bin等に配置される。

以下、このフォルダー内の実行ファイルを実行することを前提に記述を進める。

コントロールパネルを使って、環境変数HOMEをC:\Users\usernameに設定する。

次にssh.exeを使って%HOME%.sshにid_dsaを置く。サーバー側のauthorized_keysにはid_dsa.pubを追加。そして以下のコマンドでリモートgitサーバーにパスワードなしで接続できるか、確認。

ssh.exe -i %HOME%.ssh\id_dsa username@server.name
ssh.exe username@server.name

-vオプションを付けると、途中経過を表示してくれる。最新のsshでは、%HOME%.ssh\configに

PubkeyAcceptedKeyTypes ssh-dss

の一行が必要になる。

あとはgit.exeでリモートリポジトリにアクセスするときに、パスワードなしで動作するか、確認すればよい。

cloneするときは、

git clone username@server.name:git/repos1/.....

のようにユーザ名をつける。

そしてgitローカルフォルダをマウスカーソルで右クリックし、Tortoise --> SettingsでGit --> Remote: originのURLが、username@server.name:git/repos1/.....となっているか、確認する。

Tortoise --> SettingsでNetwork: SSH clientをC:\Program Files (x86)\Git\bin\ssh.exeにすると、GUIを使用したときも、パスワード入力が不要になる。