发布时间:2025-12-15 23:20:27 浏览次数:1
?SSH可以允许远程访问服务器来处理管理任务,还可以借助安全网络协议,完成SSH文件系统挂载远程目录。SSHFS使用SFTP通过安全加密把远程目录挂载到本地计算机。这样连接比标准的FTP安全得多。当挂载了远程目录就可以像在本地计算机上一样的去使用文件。
SSHFS是一种更安全的创建网络共享的方式,不同在于需要在任何需要链接在共享的机器上安装SSHFS。使用前提是需要有2台linux机器,这些机器可以是基于ubuntu或者fedoras,还需要有sudo权限。
SSHFS位于标准的存储库中,安装简单,登录服务器使用命令进行安装。
基于Ubuntu的发行版
sudoapt-getinstallsshfs-y
基于Fedora的发行版
sudodnfinstallfuse-sshfs-y
基于Arch的发行版
sudopacman-Ssshfs
基于openSUSE的发行版
sudozypper-ninsshfs
安装后,在本地计算机也安装上,在本地计算机上的SSHFS配置文件中设置user_allow_other。为此,请使用以下命令打开文件:
sudonano/etc/fuse.conf
在该文件中找到以下:
#user_allow_other
将其更改成:
user_allow_other
保存并关闭文件。在远程服务器上要创建挂在在客户端服务器上的目录,使用以下命令把新目录放在/srv中:
sudomkdir/srv/data
创建新目录后,要赋予其所有权,便于用户或组可以访问。如果是一个用户需要访问,可以使用下面命令来更改所有权:
sudochown-RUSERNAME:USERNAME/srv/data
如果是需要多个用户访问该目录,需要先创建一个组其中GROUP是组的名称,USERNAME是要添加的用户的名称。:
sudogroupaddGROUP
然后需要使用以下命令将新目录所有权更改为新组:
sudochown-RUSERNAME:GROUP/srv/data
在本地机器上,需要创建一个目录来存放挂载的远程目录。将在用户的主目录中创建此目录。
mkdir~/data_mount
如果需要把远程目录/srv/data挂载到本地目录~/data_mount,可以通过以下命令完成:
sshfsUSER@SERVER:/srv/data~/data_mount
USER是远程用户名,SERVER是远程服务器的IP地址。系统将提示您输入远程用户的密码。成功验证后,远程目录将挂载到本地目录,您可以像访问本地计算机一样访问它。如果您在~/data_mount中保存或编辑文件,它将反映在远程计算机上的/srv/data中。
这个安装的方法只适用于临时,需要永久安装SSHFS,需要完成以下步骤。
先在本地计算机上创建SSH密钥对,确保为密钥提供一个强大较早的密码:
ssh-keygen-trsa
生成密钥后,用下面命令将其复制到服务器:
ssh-copy-idUSER@SERVER
其中USER是远程用户名,SERVER是远程服务器的IP地址。可以测试下连接,确保其正常工作在本地计算机中实现SSH连接:
sshUSER@SERVER
USER是远程用户名,SERVER是远程服务器的IP地址。系统应提示您输入SSH密钥密码,而不是您的用户密码。成功验证后,使用exit命令退出连接。
使此挂载永久生效,修改本地计算机上的/etc/fstab文件。以下命令打开该文件进行编辑:
sudonano/etc/fstab
在文件底部粘贴行:
USER1@SERVER:/srv/data/home/USER1/data_mountfuse.sshfsx-systemd.automount,_netdev,user,idmap=user,transform_symlinks,identityfile=/home/USER2/.ssh/id_rsa,allow_other,default_permissions,uid=USER_ID_N,gid=USER_GID_N00
其中USER1是远程用户名,SERVER是服务器的IP地址,USER2是本地计算机上的用户名,USER_ID和GROUP_ID是本地计算机独有的。您可以使用以下命令找到ID:
Id
看到如下条目(用户ID是1000,组ID也是1000):
uid=1000(jack)gid=1000(jack)
保存文件并使用以下命令测试挂载:
mount-a
如果没有收到任何错误,则一切正常。
对此有一个警告。在启动过程中,挂载将失败,因为将在网络启动之前尝试挂载。因此,在本地机器上重新启动后,您必须打开终端窗口并使用以下命令挂载SSHFS目录:
mount-a
完成后,就可以像使用本地目录一样使用远程目录,如需帮助可联系。