WindowsのGitbashで、Githubをssh経由で操作できるようにセットアップした
画面キャプチャはクラシックな感じですが、環境はWindows7でやりました。
1. Gitをインストール
http://git-scm.com/ からDownload for Windowsをクリックして、インストーラをダウンロードします。
※バージョンは1.8.0-preview20121022でした。
2.インストーラをすすめる
ダウンロードしたインストーラのアイコンをダブルクリックして起動して、進めていきます。
↓ここもこのままでオッケー
↓「Run Git from the Windows Command Prompt」を選びます。
↓「Use OpenSSH」を選びます
↓「Checkout as-is, commit as-is」を選びます
3. 設定
デスクトップにできた、「Git Bash」のアイコンをダブルクリックしてGitBashを起動します。
コマンドラインで個人の識別情報を設定していきます。
core.quotepathはgit logなどでUTF-8の日本語コメントを見る為に必要です。
git config --global user.email 'メールアドレス' git config --global user.name '名前' git config --global core.quotepath off exit
C:\Users\ウィンドウズのログイン名\.gitconfig に設定ファイルが作成されます。
4.秘密鍵と公開鍵を作る
もういちど、GitBashを起動します。
mkdir ~/.ssh cd ~/.ssh ssh-keygen -t rsa -C 'メールアドレス' Generating public/private rsa key pair. Enter file in which to save the key (/c/Users/ウィンドウズのログイン名/.ssh/id_rsa): #←エンターを押します Enter passphrase (empty for no passphrase): #←パスフレーズを入力してエンターを押します。 Enter same passphrase again: #←パスフレーズを再入力してエンターを押します。
5. 公開鍵をGithubに登録します。
そのままコマンドで、公開鍵の内容をクリップボードにコピーします。
clip < ~/.ssh/id_rsa.pub
ブラウザで、GithubのAccount settingsページを開きます。
左メニューのSSH Keysをクリック、「Add SSH Keys」をクリックします。
Titleには、何か自分でわかりやすい名前を入力します。
Keyに、先ほどクリップボードにコピーした公開鍵の内容を貼り付けます。
「Add key」をクリックしたあと、Githubのパスワードが聞かれますので、正しく入力してConfirm passwordをクリックします。
これで公開鍵が登録されました。
6. リポジトリをcloneする
GitBashを使って、デスクトップに既存のリポジトリをcloneしてみます。
cd ~/Desktop/ git clone git@github.com:Githubのユーザ:リポジトリ名.git The authenticity of host 'github.com (207.97.227.239)' can't be established. RSA key fingerprint is XX:XX:XX:XX:..... Are you sure you want to continue connecting (yes/no)? yes #←yesと入力してエンターを押します。 Warning: Permanently added 'github.com,207.97.227.239' (RSA) to the list of known hosts. Enter passphrase for key '/c/Users/ウィンドウズのログイン名/.ssh/id_rsa': # ←上記4で決めた、パスフレーズを入力してエンターを押します。
cloneできました。これでオッケー。
2012.12.14追記です
7. Pagentを使ってパスフレーズの入力を省く
「git pullや git push するときにいちいちパスフレーズを入力するのがめんどくさい」
という場合には、Pagentを使うと入力を省くことができて便利です。
PuTTYのPagentとTortoiseSVNのTortoisePlinkを使います。
※TortoiseGitのPlinkではバグがあるようですので、あえてTortoiseSVNのほうを使います。実際にTortoiseGitのPlinkでやってみたのですが、うまく接続できませんでした。
以下はPagentを動かすまでの手順です。
8. PuttyとTortoiseSVNをインストール
それぞれをダウンロードして、インストーラにしたがってデフォルトのままインストールします。
9. GIT_SSH環境変数を設定
コントロールパネル>システムとセキュリティ>システムのメニューを開き、
「システムの詳細設定」をクリックしてシステムのプロパティを開きます。
環境変数ボタンを押します。
新規のボタンを押すと、次のような画面が出ます。
ユーザー環境変数、システム環境変数のどちらでもよいです。
変数名に、GIT_SSH と入力します。
変数値は、C:\Program Files\TortoiseSVN\bin\TortoisePlink.exe と入力します。
TortoiseSVNをインストールしたパスを変更した場合には、適切なTortoisePlink.exeのパスを入力します。
10. 秘密鍵をppkファイルに変換する
4で作成したOpenSSH形式の秘密鍵を、Pagentが読むファイル形式に変換します。
スタートメニュー>puttyから、「PuTTYgen」を起動します。
変換>鍵のインポートから、id_rsaを指定して読み込みます。
場所は、C:\Users\ウィンドウズのログイン名\.ssh\id_rsaです。
秘密鍵を作成したときのパスフレーズを聞かれますので、入力します。
秘密鍵の保存ボタンを押して、適当な名前を付けてPuTTY秘密鍵ファイル(*.ppk)を保存します。
11. Pagentを起動して秘密鍵を追加
スタートメニュー>puttyから、Pagentを起動します。
タスクバーに帽子を被ったコンピューターのようなマークがでてくるので、ダブルクリックします。
鍵の追加ボタンを押して、10で作成したppkファイルを指定したあと、閉じます。
これで秘密鍵が登録されました。
12. Gitbashからgit cloneなどしてみる
Gitbashから、git cloneしてみます。すると、Pagentから「次の鍵への照会を許可しますか?」と聞かれるので、Yesを選択します。
これでオッケー。いちいちパスフレーズを入力する必要がなくなりました。
13. PagentをWindows起動時に鍵を登録した状態で自動起動させる
さらに、Pagentをいちいち立ち上げるのも面倒なので、
Windows起動時に鍵を追加した状態でPagentが自動で起動する状態にしておきます。
デスクトップで、右クリック>新規追加>ショートカットの作成 を選びます。
項目の場所に次のように「pagent.exeのパス」+「半角スペース」+「ppkファイルのパス」を入力し、ショートカットを作成します。
"C:\Program Files (x86)\PuTTY\pageant.exe" "ppkファイルのパス"
作成したショートカットをドラッグして、スタートメニュー>スタートアップに入れておきます。
これでPagentを起動して鍵を追加する作業も省くことができました。