安全的家庭文件服务器

安全的家庭文件服务器

我家里有一台 GNU/Linux(Ubuntu 16.04)服务器和一些 GNU/Linux 客户端。我的所有计算机都已加密,我的 Web 服务器仅允许 HTTPS,并且 ssh 设置为基于密钥的身份验证等。

但是当涉及到在我的本地网络内进行文件共享时,我不知道如何设置一个安全、快速的基础设施。

我不用 Windows。所以 NFS 似乎是一个不错的选择,而不是 Samba。但是通过 IP 地址和无加密来保证安全是行不通的。好的,所以 NFSv4 支持加密,我需要为此做什么?它使用 kerberos,所以我需要一个 DNS、所有系统上的准确时间、FQDN、一个领域、主 KDC、辅助 KDC 以及最后一些用户。这对我的家庭网络来说可能有点过头了。

那么也许 Samba 可以?SMB3 有加密功能,这是一个开始。但不知为何感觉不对劲。

有人对我的情况有好的解决办法吗?

答案1

您可以使用 sshfs。

对于 ubuntu,我相信该包是 sshfs-fuse。

做一个apt-cache search sshfs,它肯定会告诉你。下载并安装包,编辑/etc/fuse.conf,取消注释user_allow_other,然后你可以编写一个快速脚本,类似于这个->
sshfs -o allow_other,follow_symlinks,IdentityFile=~(WORKSTATION_USER)/.ssh/id_rsa SERVER_USER@SERVER_ADDRESS:/home/SERVER_USER/programming/share/ /home/WORKSTATION_USER/share
查看man sshfs以了解上一行的含义。

或者如果您愿意,您可以systemd为其创建一个挂载文件,以便在启动时自动挂载共享文件夹。

类似这样的 ->

[Unit]
Description=sshfs_mount /homedir/share

[Mount]
What=SERVER_USER@SERVER_ADDRESS:/home/SERVER_USER/programming/share/
Where=/home/WORKSTATION_USER/share
Type=fuse.sshfs
Options=allow_other,follow_symlinks,IdentityFile=/home/WORKSTATION_USER/.ssh/id_rsa

[Install]
WantedBy=multi-user.target

您必须将其放入/etc/systemd/system/filename,然后完成启用和启动它的过程。

它的手册页很难理解,所以要花点时间阅读。您还需要将文件命名为要安装到的完整路径。

/home/copyrights/share即...home_copyrights_share.mount

希望这对他们有所
帮助

相关内容