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

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

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

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

SSH

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

GitHub

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

Q&A

2回答

764閲覧

GitHubへの、SSHでのpushができない

Keight

総合スコア9

Git

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

SSH

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

GitHub

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

0グッド

0クリップ

投稿2023/02/17 17:24

質問失礼します。

dockerにて、Laravelプロジェクトの開発を進めていこうとしています。
Laradockを用い、Laravelプロジェクトの生成までを完了しました。
ここでGitHubにpushしたいと思い、SSHで公開鍵を作り、GitHub上に登録しました。
そしてこちらの記事を参考に、
~/.ssh/configへ、下記内容の記述・保存までを行なっています。

Host github HostName github.com IdentityFile ~/.ssh/id_rsa User git

その後、

docker-compose exec --user=laradock workspace bash

↑このコマンドで、workspaceの作業領域に入った上で

ssh -T git@github.com

↑このコマンドを打つと、

Host key verification failed.

↑このように出てしまいます。
ただ、workspaceから出た上で同コマンドを打つと、

Hi 自身のユーザー名! You've successfully authenticated, but GitHub does not provide shell access.

↑このような「成功」のメッセージが出るようです。
ただ、このメッセージは作業領域に入ったときに出る必要があるんですよね?おそらく・・・。

ひとまず、pushを行なったところ、下記のエラーメッセージが表示されてしまいます。

Host key verification failed.
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

イメージ説明

ちなみに、

git config --list

↑上記で「user.name」と「user.email」を確認しましたが、どちらも当該アカウントのものなので問題ないことを確認しています。

また、

git remote -v

上記でも、作成したリモートリポジトリのSSH版のURLがきちんと設定されている(fetch、pushともに)ので、他に何が原因でpushできないのかが、これ以上見当付かない状態です。
イメージ説明

ローカルリポジトリ、リモートリポジトリともに、一度削除して作り直してみましたが、改善しません。

何かおわかりでしたらご教示いただけませんでしょうかm(_ _)m

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

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

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

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

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

guest

回答2

0

workspaceの作業領域( gest OS配下) には .ssh/config もなければ id_rsa も無いからです。
作業領域が見ている ソースが workspaceの外(host OS) のソースと同じ場所を見ているなら
すなわち、host OS下で編集すると gest OS下でも変更されているなら、

  1. git 操作は host OS で行う
  2. gestOS が hostOSの ~/.ssh も共有するようにする
  3. gest OS にも ~/.ssh/config, ~/.ssh/id_rsa を用意する

あたりでしょうか。

dockerはそう詳しくはないので 2、3 はどう設定すればよいか、については助言できません。

投稿2023/02/17 23:52

winterboum

総合スコア23347

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

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

Keight

2023/02/18 05:55

ありがとうございます。 この件について、いろいろ記事を漁りはしましたが、そういえばdockerを使う場合の記事を見たことがなかったかもしれません。 1番の方法だと、docker内にこしらえたLaravelプロジェクトのgit操作ができないのではないかと思い、2番目の方法はどうすればよいのかが不明なので、とりあえず3番目の方法を試してみたいと思います。
guest

0

まずは、そのリポジトリをCloneしましょう。
それが成功したなら、その作業フォルダに現在のデータをコピーし、add、commit、pushしましょう

投稿2023/02/17 21:51

y_waiwai

総合スコア87774

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

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

Keight

2023/02/18 05:57

まずはcloneをする必要があるんでしょうか? cloneって、リモートリポジトリにすでに上がっているファイルをローカルに引っ張ってくるもので認識しており、まだリモートリポジトリのほうは空の状態ですので、ローカルリポジトリのファイルをpushすることが先決ではないのかなという考え(というか、cloneをするという発想がなかった)なのですが・・・💦
y_waiwai

2023/02/18 06:07

まずはやってみよう。 cloneさえできないってなら、おはなしになりませんけど
y_waiwai

2023/02/18 14:28

cloneは失敗することがありません。 それでも失敗するということは、接続環境がダメとかリモートが壊れてるとか存在しないとか、そういう根本的なところでコケている、ってことになります、 エラーメッセージを読んでそれを理解し、その対処を行いましょう
Keight

2023/02/19 16:36

docker環境でSSHでのgit操作について書かれた記事で適当なものが見つけられなかったので、もうトークンを発行してhttpsでpushを行うことにしました。 結果、うまくいきました。 ありがとうございましたm(_ _)m
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問