小弟由于跨平台开发需求,需要在不同平台调试代码。最近自己用RedHat6.4内置的git搭建了私有git服务器,通过ssh key提交代码。
服务器搭建好后,使用git clone git@192.168.2.20:data/test.git
进行第一次同步。Linux客户端一次成功,Windows却报错:
fatal:Could not read from remote repository.
Please make sure you have the correct access rights and the repository exists.
Linux客户端是Redhat6.4预装的,Windows客户端用的gitExtensions。
小弟不知道问题出在哪里?
使用ssh git@192.168.2.20
可以直接免密码登陆的,所以排除ssh的问题。照理说Windows下的git也是Git bash,命令都一样,为什么windows不能用。
补充一下:windows 版本win7.
刚刚在Windows的Git bash里用git remote -v
查看了一下远程库,是正确的显示:
origin git@192.168.2.20:data/test.git (fetch)
origin git@192.168.2.20:data/test.git (push)
那么现在问题是否仅仅是:连接/添加远程库成功,但是不能clone,目录/文件权限问题?
みなさん、ご回答ありがとうございました。根本原因が分かりました
解決策: Linux は動作しますが、Windows は動作しないため、2 つのシステムの git クライアントの違いを探します。
調査の結果、Windows git クライアントの ssh クライアントはデフォルトで putty を使用することが判明したため、Linux クライアントと一貫性のある OpenSSH に手動で変更しました。問題は解決しました。
git remote -v
を使用すると、現在の git リポジトリに設定されているリモート サーバー情報が表示されるだけであり、Windows の git bash でリモート コード ベースにアクセスできることを意味するものではありません。Linux でコード ライブラリにアクセスできるとのことですが、Redhat6.4 ではアクセスできますか?そこで私は大胆な推測をします:
そこで、私はあなたに次のように提案します:
これで問題は解決するはずです
SSH であるため、問題はサーバーが SSH を構成したか、クライアントが SSH キーを生成したか、公開キーがサーバーに保存されたかということです。 IPはアクセス可能ですか?
これらの質問を 1 つずつ確認してください。