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

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

新規登録して質問してみよう
ただいま回答率
85.35%
Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Git

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

SSH

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

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

Q&A

解決済

2回答

1244閲覧

git pushが失敗します

kotyabuchi

総合スコア1

Windows 10

Windows 10は、マイクロソフト社がリリースしたOSです。Modern UIを標準画面にした8.1から、10では再びデスクトップ主体に戻され、UIも変更されています。PCやスマホ、タブレットなど様々なデバイスに幅広く対応していることが特徴です。

Git

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

SSH

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

GitHub

GitHubは、Gitバージョン管理システムを利用したソフトウェア開発向けの共有ウェブサービスです。GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供しています。

0グッド

0クリップ

投稿2020/11/09 18:04

前提・実現したいこと

Githubでリポジトリを作成し、pushしようとするとエラーが出てうまく行きません。
最近PCを組み直しOSを入れ直したのですが、その前まではエラーは出ずpush出来てました。
環境はWindows10、Gitのバージョンは2.28.0.windows.1です。

発生している問題・エラーメッセージ

git@github.com: Permission denied (publickey). fatal: Could not read from remote repository. Please make sure you have the correct access rights and the repository exists.

試したこと

sshの鍵を作り直したり、ssh-agentに追加したり、リポジトリを作り直してみたりしましたが改善しませんでした。
ssh -T git@github.comの結果はsuccessfullyと出ています。

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

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

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

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

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

guest

回答2

0

ベストアンサー

全てが質問者さんの質問内容通りならば、
MinGWやCygwinとGitBashが干渉している可能性がありますね。

ほら、WindowsのCLIってLinux系のBashと全然違うじゃないですか。
なのでSSHの実行ファイルを一つとっても
裏ではヘンテコな独自実装を無理やり通してるみたいな所があります。

そしてGitBashのGit機能のSSHがその煽り食らって動かないみたいな事は考えられますね。
以前一度似たようなケースでハマった事があります。

Vagrant等で仮想のLinuxマシンを立ち上げて
ファイル共有機能で実装してコマンドはLinuxマシンのコンソールで行う
……みたいな事をして凌いだ経験があります。


そうでなければ一度問題を切り分けて
質問内容の状況の不備を疑ってみましょう。

まずGitHub上で適当なリポジトリを作成し、
Codeボタン→SSHタブの順番でクリックしてSSH用のURLを取得します。
GitBashでgit clone [取得したURL]と打ち込んでください。
これでGitHub上のリポジトリをSSHの権限を利用してDLしてくるという事を試す事が可能です。

それがエラーで失敗するのであれば、
SSHの鍵をちゃんと作れてなかったり、GitHub上に登録出来ていない可能性があります。

それが正常に動作するのであれば、
既存プロジェクトのgit remoteの設定がおかしいだけです。
git remoteコマンドを使って訂正するか、.git/configファイルをエディタで開いて正確な情報に訂正しましょう。

投稿2020/11/10 04:32

miyabi-sun

総合スコア21203

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

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

kotyabuchi

2020/11/10 12:43

cloneで持ってくる事もできませんでした。 色々なサイトを見ていると`ssh -T git@github.com`で成功するとよし!で終わってるんですが、これはまた別問題なのでしょうか?
miyabi-sun

2020/11/10 13:33

なるほど、これはWindowsの問題の可能性が高くなってきましたね。 SSH自体はコマンドラインツールの実行ファイルなんですが、Windowsには標準で含まれていません。 じゃあどうやって持ってくるんだという話になりまして、 Linuxクローン系ソフト(Cygwin、MinGWなどなど)が勝手に持参してくるわけです。 これにより普通にコマンド実行して使う分と、 Gitが裏で利用しているSSHモジュールが一致してない可能性があったり、 Gitが裏で利用しているSSHモジュールがSSHコンフィグファイルの情報を読みに行ってファイルを見つけられなかったりします。 このため、解決はあちこち調べる必要がありますが、 そもそもGitHubはSSHでのログインを推奨しておらず、HTTPSを使う事を推奨しているはずなので、 一旦SSHを諦めてHTTPSでの運用に切り替えても良いかもしれませんね。 https://qiita.com/Ancient_Scapes/items/7d86cd78417a3c39fee2
kotyabuchi

2020/11/10 15:21

なるほど、確かにSSHに固執する理由もありませんしHTTPSに切り替えてみます。 色々と情報不足の中答えていただきありがとうございました。
guest

0

Permission denied (publickey).

これは接続鍵が違っているときに出るエラーです
秘密鍵ファイルの形式が違うってこともあるのでそこらへん確認してみよう

投稿2020/11/09 21:49

y_waiwai

総合スコア88042

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問