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。
- 打开 Windows 资源管理器
- 找到
this pc
并右键单击它 - 选择
map network drive
- 进入文件夹
\\sshfs\[email protected]/../../etc/blabber/mouth
- 选中“使用不同的凭据连接”。
- 按 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 权限问题。