2011-10-13 83 views
1

我有两台电脑,比如notebookdesktop。两者都安装了git和msysgit。为什么我的'git fetch'通过cygwin ssh连接不起作用?

当我在desktop和cygwin命令窗口做一个git fetch origin,一切工作正常,以及从msysgit控制台git fetch origin

但是,当我使用cygwin的SSH客户端SSH到desktopnotebook然后从SSH会话做一个git fetch origin,我得到

error: could not open '//path/to/origin.git' 
fatal: Could not read bundle '//path/to/origin.git'. 

假设这是一个权利问题,因为共享我m访问对每个人都是不可读的,但仅限于某些用户。我认为,在通过SSH访问我的desktop时,我不是直接从desktop访问共享的用户。

我要如何在Cygwin中正确的用户访问受保护的份额?


编辑:尽管它声称,这个问题应是'X' does not appear to be a git repository (I'm sure the path is correct)重复,我没有看到任何关系这个问题。


编辑:如果该事项:

  • Cygwin的Git是版本1.7.5.1
  • cygwin的SSH是OpenSSH_5.8p1,OpenSSL的0.9.8r 2011-2-8
  • msysgit在版本1.7.6.msysgit.0
+0

['X'可能重复似乎不是一个混帐存储库(我敢肯定路径是正确的)](http://stackoverflow.com/questions/5731732/x-does-not-appear- git-repository-im-sure-the-path-is-correct) – sehe

+0

你是同一个用户,但你可能没有被认证到共享。桌面是否针对Active Directory进行身份验证?当你打开桌面时,你使用哪种身份验证方法? –

+0

@sehe:不,绝对不是重复的。 –

回答

1

的Windows使用的集中用户管理ctive目录使用Kerberos票据来验证对共享的访问。由于特权进程可以将本地凭证更改为指定用户,因此使用ssh登录可能不会通过Kerberos,在这种情况下,您可以像往常一样在本地执行任何操作,但共享不会识别您。

如果你使用公共密钥认证,它从来没有经历的Kerberos,因此你将永远无法访问共享(每个人都无法访问),直到永远。

如果您使用的密码,它要经过Kerberos的。我相信系统可以访问共享,但我不确定,因为从Windows角度来看,它仍然不是常规登录。

OpenSSH的实际支持使用Kerberos票据如果编译了正确的选择和反对的Kerberos库链接验证。但是,上次我看着cygwin ssh是而不是编译这种方式,并与Active Directory集成是不可能的。但它仍然是cygwin 1.5,所以它可能从那时起就被实现了。

在任何情况下,我会建议登录到远程桌面协议而不是台式机。也有为Linux工作的客户。缺点是它的GUI,所以它不是可编程的。如果你连接到RDP,你也可能会有一些运气,所以你实际上已经登录了,放入后台并用ssh登录,但我没有尝试,所以我不确定。

我也成功地使用Unix Kerberos实现从活动域获取票据(有几个怪癖像域必须以大写字母输入,但没有太复杂),并使用Samba中的Kerberos支持连接到来自Unix的份额。

+0

是的,我正在使用公钥验证来验证我的SSH会话。使用RDP登录当然是可能的,但我的使用案例是当我只有有限的带宽时(从家到工作的VPN隧道)使用SSH,而当带宽较低时RDP并不真的很有趣。 – eckes

+0

@eckes:那么,它将无法使用SSH公钥认证。期。尝试使用密码认证或在后台使用rdp(而不是使用它,所以它不会执行任何操作并使用ssh),或者您可以尝试获取支持kerberos的Windows的ssh服务器。 –

+0

在访问股票时,是否绝对没有办法告诉cygwin声称自己是我? – eckes

相关问题