最近、git ばっか使ってます。

だって、べんりだもの。(みつを)

Subversion使わなくなっちゃった。

で、git クライアントは、Windowsでは TortoiseGitを使っています。

(TortoiseGit 日本語化版はなんか古そうだったのでパス)

git clone とかは CLIの方が楽なんでコマンドプロンプトから、その後はTortoiseGit で運用しています。

久々にgithub をclone してみようとすると、こんな感じで失敗します。

C:\git>git clone git@github.com:xxxx/xxxxxx.git -v
Cloning into tdtsh_test...
Permission denied (publickey).
fatal: The remote end hung up unexpectedly

最近は http も使えるんで、

git clone https://xxxx@github.com/xxxx/xxxx.git

こんな感じでhttpもいけるんですけど、TortoiseGit でpushとかが出来ませんでした。

やはりSSHでないと。

こういうときはヘルプを参考にがんばります。

ほうほう ~/.ssh/config を書けと。

cygwinのhomeの.sshの下にファイルを作る、と。

Host github.com
    User git
    Port 22
    Hostname github.com
    IdentityFile /home/.ssh/id_dsa

こんな感じで書いてみたけど、状況変わらず。

パーミッションも普段使っているんで間違ってない。

だいぶ前の事なんで忘れてたけど、多分msysgitを事前にインストールした様な気がする。

インストール時にUser Git Bash Only を選択した様な気もしますが、確かPATHを通してコマンドプロンプトでも使えるようにしてた様な。

git はてっきり cygwin のんと 思っていましたが、whichすると こうなってました。

/cygdrive/c/Program Files/Git/bin/git

思いっきり忘れてました。

c:\Program Files\Git.ssh

の下に秘密鍵を置いて、Cygwinからファイルのパーミッションをちゃんとするといけました。

TortoiseGit は %USERPROFILE%/.ssh/ を見ているみたいだし。

アチコチに鍵があってウットオシイです。