質問: Windows7 上で git を使用する場合の環境設定に関して教えてください。 環境: OS Windows7 git version 2.8.0.windows.1 (SourceTree を導入した時に同梱されているものと思われますが、確認できず) コマンド使用時のエラー: ``` # git push origin master Permission denied (publickey). fatal: Could not read from remote repository. ``` Visual Studio Code を使用して、開発を行っているため、コマンドラインから git を利用したいと考えています。 現在、SourceTree を利用した push 等のリモートリポジトリへの作業は問題なく出来ており、そのリモートリポジトリへの接続は ssh を利用。pageant が立ち上がっており、秘密鍵をそちらに登録することで、ssh が成立するようになったので、鍵の管理は pageant によるものと思っています。 コマンドラインから git push を利用するには、sshで使用する秘密鍵を git に認識させる必要があるのだと思いますが、その設定方法が分かりませんでした。 %USERPROFILE% 下 .ssh ディレクトリ内の id_rsa に秘密鍵を置くことで接続できるようになるとある記事があったので、SourceTree の接続で使用していた PuTTY 秘密鍵を PuTTY Key Generator で OpenSSH Key としてExport し設置してみましたが、状況は変わりませんでした。 どこかで勘違いしているのだと思いますが、自分で気がつけません。ご指摘いただけると助かります。
回答: まずは CTRL-@ でコマンドプロンプトを起動して、そこで where git や where ssh してどこの git/ssh が使われているか確認して下さい。そして SourceTree が使っている物と同じか確認して下さい。 次に ssh -v localhost 等と実行してどの .ssh/config が読まれているか確認して下さい。msys/cygwin 系であれば /home/ で始まっている場合があります。その場合は msys や cygwin のルートディレクトリから /home/xxx/.ssh/config (xxx はユーザ名) のファイルに Host および IdentifyFile を指定して下さい。 ちなみに Windows で HOME 環境変数を設定していると、その場所が ssh コマンドが見る場所になります。