NFS共享不能通过Mac OSX上的ssh隧道连接,它可以在所有其他设备上运行

我一直在寻找一个解决scheme,但是我终于放弃了。 我有一个Ubuntu的服务器运行一个NFS共享。 我设置它,所以你必须使用SSH连接到它。 这是真棒。 问题是我可以从任何其他的Linux机器连接到它没有问题,但这台Mac是踢我的后端。 这是我如何连接:

使ssh隧道:ssh -fNv -L 3049:localhost:2049 [email protected] -p 000

连接到共享:sudo mount_nfs -p 3049 localhost:/ path / to / share / path / to / mount / share

我得到一个连接拒绝错误在Mac上,如何在我的Linux机器上它连接完全正常。

请帮助?

服务器上的Rpcinfo:

$ rpcinfo -p程序verso端口服务

100000 4 tcp 111 portmapper 100000 3 tcp 111 portmapper 100000 2 tcp 111 portmapper 100000 4 udp 111 portmapper 100000 3 udp 111 portmapper 100000 2 udp 111 portmapper 100024 1 udp 52843 status 100024 1 tcp 33151 status 100003 2 tcp 2049 nfs 100003 3 tcp 2049 nfs 100003 4 tcp 2049 nfs 100227 2 tcp 2049 100227 3 tcp 2049 100003 2 udp 2049 nfs 100003 3 udp 2049 nfs 100003 4 udp 2049 nfs 100227 2 udp 2049 100227 3 udp 2049 100021 1 udp 58619 nlockmgr 100021 3 udp 58619 nlockmgr 100021 4 udp 58619 nlockmgr 100021 1 tcp 59210 nlockmgr 100021 3 tcp 59210 nlockmgr 100021 4 tcp 59210 nlockmgr 100005 1 udp 41289 mountd 100005 1 tcp 53372 mountd 100005 2 udp 45436 mountd 100005 2 tcp 52048 mountd 100005 3 udp 49309 mountd 100005 3 tcp 42610 mountd 

NFS正在使用一些RPC守护进程。 根据标签,我假设你正在使用NFSv4。

首先,你确定你的Mac使用的是V4吗? 您的RPC守护进程是否在Mac上启动? 在Linux上,你可以用rpcinfo -p来获得守护进程的状态。 你至less应该在你的服务器上有“portmapper”,“mountd”和“nfs”。 你也可以有lockingpipe理和其他一些“nlockmgr”。

您可以使用rpcinfo -p $targethost查询在远程主机上启动了哪些RPC程序。

请发布在Mac上运行的rpc守护进程的列表。

所以,经过无数个小时的努力,我终于find了这个东西:

我知道一切都工作得很好,因为我是从其他Linux计算机访问共享,问题是访问它在MacOsx。 所以,在找了一会儿之后,我find了Osx的Fuse和Sshfs软件包。 我安装了它并运行这个命令:

 sshfs -p 0000 [email protected]:/path/to/share/in/server /path/to/mount/on/computer -oauto_cache,reconnect 

能够连接和现在的工作:)。

BTW! 如果你在将来阅读这个文件,用你正在使用的端口replace000,或者如果使用默认删除“-p 000”,并设置你的path,你应该是很好的去。