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

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

ただいまの
回答率

89.09%

ssh接続でgit push origin masterができない

解決済

回答 3

投稿 編集

  • 評価
  • クリップ 1
  • VIEW 641

selecao3

score 10

前提・内容

お世話になります。

開発マシン(macOS)からサーバー(windows10)へgit pushができる環境を作成したところ、git pushした際に以下のようなエラーが発生しました。

fatal: ''/d/develop/sample-git'' does not appear to be a git repository
fatal: Could not read from remote repository.

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


上のエラーが出る前に具体的には開発マシンとサーバーで、以下のコマンドを実行しております。

開発マシン

cd ~/develop/rust/sample
git init
git add .
git commit -m "sample"
git remote add origin ssh://{サーバーのユーザー名}@{サーバーのIPアドレス}/d/develop/sample-git
git push origin master


サーバー

cd /d/develop/sample-git
git init


やりたいこととしましては表題の通り、
"git push origin master" の際に上記のエラーが発生することなく、pushできるようにしたいです。

もし不足している情報等がございましたらお手数をお掛けしますがお伝えしてくださると幸いです。
よろしくお願いいたします。

追記

  • sshコマンドは出来ている
  • scpコマンドも出来ている
  • git push origin master の際にサーバー側のパスワードが聞かれる(パスワードを入力すると上記のエラー)
  • 気になる質問をクリップする

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 3

check解決した方法

0

自己解決しました。
C:\Program Files\Git\usr\bin配下にあるsshdを起動せず、Windows10由来のOpenSSH server(参考URL: https://www.websec-room.com/2018/05/12/2933)のsshdを起動させていたことが原因のようです。
Windows10由来のOpenSSH serverをアンインストールし、Git由来のsshdを起動させたうえで、開発マシン側で
git clone ssh://{サーバーのユーザー名}@{サーバーのIPアドレス}:/d/develop/sample-git
としたところエラーなく複製ができました。
コメントをくださった皆様、ありがとうございました!

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

0

サーバー側の リモートリポジトリの作成が

cd /d/develop/sample-git
git init --bare --shared

じゃないとダメという話でしょうとか...

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/04/03 18:50

    早速のコメントありがとうございます。
    サーバー側と開発マシン側で以下のコマンドを実行しましたが、エラー文は変わりませんでした・・・

    サーバー側
    # cd /d/develop/sample-git
    # git init --bare --shared

    開発マシン側
    # git push origin master

    なお、"git push origin master"を実行した際、サーバー側のパスワードは聞かれています。

    キャンセル

  • 2019/04/03 19:08

    うーん。

    {サーバーのユーザー名} に /d/develop/sample-git のアクセス権はありますか?

    git init と git init --bare --shared では、作成されるファイルの位置が異なるのですが、別のディレクトリか現在のディレクトリを一度削除して、やってみても同じですか?

    キャンセル

  • 2019/04/03 19:43

    サーバー側(Windows10)でエクスプローラーからsample-gitのプロパティを確認したところ、
    ・Authenticated Users
    ・SYSTEM
    ・Administrators
    ・Users
    の4つのユーザー名があり、それぞれ下の「アクセス許可(P)」を見たところ少々違う部分はありましたが、少なくとも全て「読み取りと実行」は出来る状態でした。
    念のため、その4つのユーザー全てフルコントロール権限を付与しましたが結果は変わりませんでした・・・

    >別のディレクトリか現在のディレクトリを一度削除
    以下のコマンドを行いましたが、こちらも結果は変わりませんでした。

    まず、サーバー側(Git Bashで行いました)
    # mkdir /d/repo
    # mkdir /d/repo/sample.git
    # cd /d/repo/sample.git
    # git init --bare --shared
    次に開発マシン側
    # git remote rm origin
    # git remote add origin ssh://{サーバーのユーザー名}@{サーバーのIPアドレス}/d/repo/sample.git
    # git push origin master

    お手数をお掛けしておりますが、よろしくお願いします。

    キャンセル

  • 2019/04/04 23:24

    自己解決しました。
    上の自己解決にも記載しましたが、Git由来のsshdを起動させずに、Windows10由来のOpenSSH serverのsshdを起動させてgitコマンドを使っていたことが原因のようです。
    本件について、ご協力ありがとうございました!

    キャンセル

0

まず、どっかのフォルダにそのリポジトリをCloneします
で、そのフォルダに、修正後のファイルをコピーします
コピーしたファイルをすべてaddします
んで、そのフォルダをチェックアウトして、
そんでpushしてみてはどうでしょうか

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/04/04 09:59 編集

    コメントありがとうございます。
    >どっかのフォルダにそのリポジトリをCloneします
    開発マシンのフォルダにサーバーのリモートレポジトリをcloneするという意味でしょうか?
    開発マシン上で
    # git clone ssh://{サーバーのユーザー名}@{サーバーのIPアドレス}/d/repo01/sample01.git
    としましたが、上記のエラーが表示されて、cloneに失敗しました。

    念のため、サーバー上で以下の作業を行いました。(#付きの文字列はコマンド、#が付いていない文字列はコマンド実行後に表示されたメッセージです。)

    # mkdir /d/repo_clone
    # git clone /d/repo01/sample01.git
    Cloning into 'sample01'...
    done.
    # cd sample01/
    # touch new_file.txt
    # git checkout /d/repo_clone/sample01/
    # git push
    Everything up-to-date

    なお、作業の際に気づいたことなのですが、git cloneする際、
    # git clone /d/repo01/sample.git
    だと、問題なく複製されますが、
    # git clone ssh://localhost/d/repo01/sample.git
    とすると上記のエラー文が表示されます。

    以上、よろしくお願いします。

    キャンセル

  • 2019/04/04 19:21

    google翻訳
    fatal: '' / d / Develop / sample-git ''はgitリポジトリではないようですfatal:リモートリポジトリから読み込めませんでした。

    ということなんで、そのリポジトリを作り直してみては。

    #Cloneさえできないってのはなんぼなんでも普通じゃないですね

    キャンセル

  • 2019/04/04 23:23

    自己解決しました。
    上の自己解決にも記載しましたが、Git由来のsshdを起動させずに、Windows10由来のOpenSSH serverのsshdを起動させてgitコマンドを使っていたことが原因のようです。
    本件について、ご協力ありがとうございました!

    キャンセル

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

  • ただいまの回答率 89.09%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる