小弟由于跨平台开发需求,需要在不同平台调试代码。最近自己用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는 작동하지 않으므로 두 시스템의 git 클라이언트 간의 차이점을 찾아보세요.
조사 결과 마침내 Windows git 클라이언트의 ssh 클라이언트가 기본적으로 putty를 사용한다는 것을 알게 되었기 때문에 수동으로 Linux 클라이언트와 일치하는 OpenSSH로 변경했습니다. 문제가 해결되었습니다.
git remote -v
을 사용하면 현재 git 저장소에 구성된 원격 서버 정보만 표시되며 Windows의 git bash에서 원격 코드 베이스에 액세스할 수 있다는 의미는 아닙니다.Linux에서 코드 라이브러리에 접근할 수 있다고 했는데요, Redhat6.4에서도 접근이 되나요? 그래서 과감하게 추측해봅니다.
그러므로 다음을 제안합니다.
이렇게 하면 문제가 해결됩니다
Ssh이므로 문제는 서버에 SSH가 구성되어 있습니까? 클라이언트가 SSH 키를 생성했습니까? 공개 키가 서버에 저장되어 있습니까? IP에 접근할 수 있나요?
이 질문들을 하나씩 확인해 보세요.