我已经搜索了一段时间,试图找到解决方案,但最终还是放弃了。我有一个运行 nfs 共享的 ubuntu 服务器。我将其设置为必须使用 ssh 连接到它。这很棒。问题是我可以从任何其他 Linux 机器连接到它而不会出现问题,但这台 Mac 让我很为难。以下是我连接的方式:
建立 ssh 隧道: ssh -fNv -L 3049:localhost:2049[电子邮件保护]-p 000
连接到共享:sudo mount_nfs -p 3049 localhost:/path/to/share /path/to/mount/share
我在 Mac 上收到连接被拒绝错误,但是在我的 Linux 机器上它连接得很好。
请帮助?
服务器上的 Rpcinfo:
$ rpcinfo -p 程序 vers 协议端口服务
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
答案1
NFS 正在与一些 RPC 守护进程一起工作。根据标签,我假设您正在使用 NFSv4。
首先,您确定您的 Mac 使用的是 v4 吗?您的 Mac 上的 RPC 守护进程是否已启动?在 Linux 上,您可以使用 获取守护进程状态rpcinfo -p
。您的服务器上至少应该有“portmapper”、“mountd”和“nfs”。您可能还有用于锁定管理的“nlockmgr”和其他一些程序。
您可以使用 查询远程主机上启动了哪些 RPC 程序rpcinfo -p $targethost
。
请发布在您的 Mac 上运行的 rpc 守护进程列表。
答案2
因此,经过无数个小时的努力尝试解决这个问题后,我最终得到了以下结果:
我知道服务器端一切正常,因为我可以从其他 Linux 计算机访问共享,问题出在 MacOsx 上。所以,经过一段时间的寻找,我发现适用于 Osx 的保险丝和SSHFS软件包。我安装了它并运行了以下命令:
sshfs -p 0000 [email protected]:/path/to/share/in/server /path/to/mount/on/computer -oauto_cache,reconnect
现在就可以连接并开始工作了:)。
顺便说一句!如果您以后读到这篇文章,请用您正在使用的端口替换 000,或者如果使用默认端口,请将“-p 000”全部删除,然后设置您的路径,这样就可以了。