質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

Windows 7

Microsoft Windows 7は過去にリリースされたMicrosoft WindowsのOSであり、Windows8の1代前です。2009年の7月にリリースされ販売されました。Windows7の前はWindowsVistaで、その更に3年前にリリースされました。

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

Q&A

解決済

1回答

4113閲覧

Win7 の git push で 'Permission denied (publickey)'

退会済みユーザー

退会済みユーザー

総合スコア0

Git

Gitはオープンソースの分散バージョン管理システム(DVCS)です。

Windows 7

Microsoft Windows 7は過去にリリースされたMicrosoft WindowsのOSであり、Windows8の1代前です。2009年の7月にリリースされ販売されました。Windows7の前はWindowsVistaで、その更に3年前にリリースされました。

SSH

SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。

1グッド

0クリップ

投稿2017/01/13 02:30

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 し設置してみましたが、状況は変わりませんでした。

どこかで勘違いしているのだと思いますが、自分で気がつけません。ご指摘いただけると助かります。

KiyoshiMotoki👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

まずは 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 コマンドが見る場所になります。

投稿2017/01/13 03:20

編集2017/01/13 03:24
mattn

総合スコア5030

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/01/13 03:38

アドバイスありがとうございます。 SourceTree が使っている ssh が確認できないのですが、どのように確認取ればよいでしょうか? where ssh は `Could not find files for the given pattern(s).`なので git と SourceTree にそれぞれ内包されているものを使用しているのだと思ってます。 (そのため、git に鍵を認識させようとしています。) ディレクトリの構成として、/home はありませんでした。 msys や cygwin も導入した事があります。が、利用しているかどうかの切り分けができません。 利用の切り分け方法があれば教えてください。
mattn

2017/01/13 04:02

環境変数 GIT_SSH を plink.exe へのパスに設定してみるとどうでしょうか?
退会済みユーザー

退会済みユーザー

2017/01/13 05:18 編集

ありがとうございました。無事接続できました。 Git 側で使用する ssh アプリケーションを指定する発想がなかったので大変助かりました。 非常に快適です。 少しハマったので、メモしておきます。 環境変数へ以下を設定 変数名:GIT_SSH 変数値:C:\Program Files\putty\plink.exe PuTTYの’Default setteings’として、接続情報を登録。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問