nfs via ssh tunnel(通过ssh隧道跨网络挂载nfs)

这篇代码段帮了大忙:

https://gist.github.com/proudlygeek/5721498

下面给出我的设置:

我要在机器97上访问机器231上的硬盘,需要把231上的/data1/ubuntu挂载到97上

1. 共享nfs文件夹

在231上编辑:/etc/exports(需要root)

1
2
3
ubuntu@lthpc:~$ cat /etc/exports
/data1/ubuntu localhost(insecure,rw,sync,no_subtree_check,all_squash,anonuid=1026,anongid=1026)
ubuntu@lthpc:~$

关键是insecure,ssh不能访问特权端口,所以需要设置。anonuid=1026,anongid=1026需要根据你自己的用户id设置。

刷新nfs共享(root):

1
exportfs -a

2. 设置ssh隧道

在97上开启ssh隧道

1
ssh -NL 3049:localhost:2049 231

3. 挂载nfs

在97上创建挂载文件夹:

1
mkdir /home/ubuntu/231data1

设置挂载(root):

1
mount -t nfs -o port=3049 -o proto=tcp localhost:/data1/ubuntu /home/ubuntu/231data1

OK!

断线查看:

mount -l

umount -f -l

nfs via ssh tunnel(通过ssh隧道跨网络挂载nfs)
https://jcdu.top/2023/04/13/nfs via ssh tunnel(通过ssh隧道跨网络挂载nfs)/
作者
horizon86
发布于
2023年4月13日
许可协议