SSHFS 远程目录挂载语法

SSHFS 远程目录挂载语法

Windows-10 64 位 PC 配备:

远程 Linux 目录 ( mydirectory) 将挂载到 S:。句法记录在这里。

“小步骤”表明初步成功(非管理员 CLI):

net use S: \\sshfs\[email protected]\..\..

然而这并没有实现mydirectory

其他用户的 尝试挂载目标目录失败。从管理员命令行尝试失败:

net use S: \\sshfs\[email protected]\\mnt\MOUNTPOINT\mydirectory

发生系统错误 67。 The network name can not be found

其他故障:

net use S: \\sshfs\[email protected]\mnt\MOUNTPOINT\mydirectory
net use S: \\sshfs\[email protected]:\mnt\MOUNTPOINT\mydirectory

由于某种原因,尽管输入了用户名,但语法仍要求我输入用户名和密码:user@hostname

  • mydirectory安装到 S: 驱动器的正确语法是什么?
  • 可以进行哪些诊断来确定纠正措施?

答案1

在我的 Windows 10 中,使用命令在用户的 powershell 中安装远程 ssh 服务器的主目录

net use S: \\sshfs\user@host\.

注意末尾有一个点!没有点,它就不起作用。要挂载根文件夹,请使用

net use S: \\sshfs\user@host\..\..

在 Windows 资源管理器 -> 此 PC -> 映射网络驱动器上,操作方法相同(但语法不同)。在我的系统中,我必须输入以两个反斜杠开头的路径:对于 root

\\sshfs\user@host/../..

家用

\\sshfs\user@host/

请注意这里的斜杠!您可能需要标记“使用不同的凭据”,然后在后续几个对话框中输入用户名/密码。

答案2

简单回答:

使用\\sshfs.r而不是\\sshfs

长答案:

访问远程文件夹的简单语法是:

\\prefix\remoteuser@host[\path]

根据 SSHFS-Win 自述文件,指定连接时需使用 4 个前缀(UNC 语法部分):

"sshfs", "sshfs.r", "sshfs.k", "sshfs.kr"

前缀会影响路径的解释方式。在“sshfs”中,路径相对于remoteuser的主文件夹(通常是 /home/remoteuser)。因此,当您执行

net use S: \\sshfs\[email protected]\mnt\MOUNTPOINT\mydirectory

您正在尝试挂载 /home/user/mnt/MOUNTPOINT/mydirectory

在这种情况下,您应该使用sshfs.r前缀,其中路径相对于根目录(/):

net use S: \\sshfs.r\[email protected]\mnt\MOUNTPOINT\mydirectory

我希望这有帮助。

答案3

对于我来说,该net use命令不起作用,无论是否是管理员,也无论是 PowerShell 还是 CMD。

  1. 打开 Windows 资源管理器
  2. 找到this pc并右键单击它
  3. 选择map network drive
  4. 进入文件夹\\sshfs\[email protected]/../../etc/blabber/mouth
  5. 选中“使用不同的凭据连接”。
  6. 按 Enter 键

笔记:

Windows 10 似乎对这里的权限和文件夹有点奇怪。

如果您进行映射,您将被困在您的主文件夹及其子文件夹中。但您应该能够读取和写入。\\sshfs\[email protected]/

如果你映射,你将位于根文件夹,但将停留在用户对根文件夹的任何权限\\sshfs\[email protected]/../..对于所有文件夹。如果您没有根文件夹的写权限,那么您将没有其下任何内容的写权限,因为 Windows。

如果您映射,您将拥有您的用户对文件夹“mouth”的所有权限,但您将被困在该文件夹中,与您的主文件夹一样。\\sshfs\[email protected]/../../etc/blabber/mouth

对于新手来说,添加/../..相当于进入你的主文件夹并输入cd ../.. :此外,在 Windows 映射中会被忽略/不需要。

在 Linux 上,我可以挂载远程根文件夹并像在本地机器一样进行操作;我可以导航到任何文件夹。

在 Windows 上,您必须解决一些怪癖和限制,因此最好挂载您需要工作的文件夹。如果您需要访问多个文件夹,这会很不方便,但它可以工作。

答案4

如果您收到拒绝访问错误,则可能是权限问题,而不是语法问题。验证您的 ssh 用户是否有权通过 ssh 进入服务器,以及用户是否有权访问该特定目录。您可能还想尝试从 Windows 中的管理提示符运行该命令,以确保这不是 sshfs 的 Windows 权限问题。

相关内容