如何通过SSH在Windows中挂载远程Linux文件夹?[关闭]


136

我是系统管理/ shell编程课程上的盲人学生。尽管ssh可以很好地执行ls,pwd等命令,但编辑器无法与我的屏幕阅读器和ssh会话配合使用。我想知道是否可以在ssh上挂载Linux文件夹,使其显示为Windows驱动器?这样,我可以使用可访问的软件编辑所需的任何文件,而不必经常使用SCP来回发送文件。


您正在运行什么发行版的linux?您是否具有root用户访问权限或通过其他方式在linux机器上安装软件?
neesh 2009年

如果您有一些ram / cpu备件,则可以使用带有共享文件夹的小型Linux VM(至少ubuntu 10.04已对sshfs开箱即用)。
mbx

Answers:


75

早在2002年,Novell就开发了一种名为NetDrive的软件,该软件可以将WebDAV,FTP,SFTP等共享映射到Windows驱动器盘符。现在它已经废弃了,因此不再进行维护(并且在Novell网站上不可用),但是可以免费使用。通过搜索“ netdrive.exe”,我发现了很多可供下载的软件。我实际上下载了一些软件,并比较了它们的md5sums,以确保获得通用(并且希望是安全的)版本。

更新2017年11月10日 SFTPNetDrive是原始netdrive项目中的当前项目。他们免费供个人使用:

我们免费提供了SFTP Net Drive供个人使用

他们也在网站上支付了选择权。


1
二:(总之,资源管理器集成实在值得一提。
阳光Milenov

12
Netdrive 4.1似乎无法处理sftp
rpilkey

1
这与Windows 10兼容吗?
stephanmg

42

Dokan看起来像Windows的FUSE和sshfs实现。如果它能按预期并进行宣传,它将完全满足您的需求。

(链接已更新,在2015年10月15日正常工作)


3
目前,SSHFS在x64上不起作用。
sorin

1
到目前为止,刚刚安装了最新的DOkan要求,当我尝试使用OpenSSH密钥对进行连接时,它一直崩溃。
Dan Dascalescu

1
// @ Sorin Sbarnea:是真的,但现在不再是真的。
Stefan Steiger 2010年

4
在Windows 7 64bit上不起作用。一直崩溃。有人找到解决方法吗?
m1k3y3 2012年

2
这是我在安装和使用Win-SSHFS和DOKANY(DOKAN)的步骤中发现的一个很棒的新文章:igikorn.com/sshfs-windows-10
Gabriel Staples

22

我发现的最好的最简单的解决方案是https://github.com/billziss-gh/sshfs-win,连接的服务器显示为功能齐全的网络驱动器。这不是基于'Dokany'或'dokan'的解决方案,从经验来看,它似乎更稳定,性能更高,另请参见WinFsp性能测试

在Windows上安装ssh

请注意,之前请注意此答案:https://github.com/Foreveryone-cz/win-sshfs,在此之前http://www.swish-sftp.org/,但我不再使用其中任何一个,第一个停止了工作第二个创建了并非所有程序都完全支持的驱动器。


5
很棒的工具:)但是我想用一个驱动器号来连接它……也就是说,我想以-的方式连接sftp://server.com/dir/subdirZ:\subdir-它不起作用:(
Artur Iwan,2012年

2
@endolith它是可读写的;您可能只具有读取权限。
丹尼尔·索科洛夫斯基2012年

5
大多数应用程序不支持swish路径(不支持UNC?)。因此,这里无济于事。
基督教徒

而且它不支持ssh密钥文件。:-(
Mirko

@Mirko它确实支持ssh代理(如Pageant),您可以在其中添加ssh密钥。很棒!
lephleg

14

另一个Windows-y选项(售价39美元)是http://www.expandrive.com/sftpdrive


为我工作,尽管有点慢。
bobince

@Vinko Vrsalovic:由于时间较长,所以不知道确切的日期。只是直到大约半年前,它才在x64上无法正常运行。更好的问题是如何在Windows上创建RSA密钥,但是在那里,使用gitbash @ google-code可以进行救援。
Stefan Steiger,2010年

@Quandary:太好了。上次我尝试它并没有完成所有操作。
Vinko Vrsalovic

这看起来很酷。不幸的是,目前的版本(2)不能在Windows 8工作安装通知我,第3版将支持Windows 8
亚历ķ

5

看看CIFS(http://www.samba.org/cifs/)。它是一个虚拟文件系统,可以在Linux机器上运行,它允许您使用SMB在Windows的Linux机器上安装文件夹。

可以在以下位置找到关于Linux的CIFS信息:http : //linux-cifs.samba.org/


4
Samba在慢/高延迟(几乎不是您的LAN的任何东西)连接上使用非常可怕。
ThiefMaster 2014年

@ThiefMaster Heavy同意您的观点,在虚拟机中samba的读取文件性能太差。
inix 2016年

4

您需要在Windows计算机上安装远程共享。这就是Samba / smb的目的。

您要做的就是将Linux机器变成SMB服务器,使其能够以与Windows兼容的方式共享文件。

如果您不在同一网络上,则需要通过SSH连接建立隧道,这可能不值得。


使用PuTTy的SSH隧道确实还不错。连接时,它将自动启动隧道。如果将其设置为在启动时运行,并且使用没有密码短语的警告(不安全!!),您将立即准备好使用。
user54650

我宁愿不设置samba,因为这是班上其余部分不会使用的额外步骤。另外,我对SSH的信任程度要比对Samba更为信任,考虑到有多少学生使用运行个人计算机的个人,校园网络并不是我所说的安全,上帝知道什么。
杰瑞德(Jared)2009年

2
贾里德(Jared):如果您使用samba,则无论如何都必须通过SSH隧道传输它-因此它与ssh一样安全。如果您真的想要一个简单的拖放方法,那么正如其他人所建议的那样,WinSCP很好。
Michael Haren


0

我认为您不能在只能访问ssh的Windows下将Linux文件夹安装为网络驱动器。我可以建议您使用WinSCP,它允许您通过ssh传输文件,并且它是免费的。

编辑:很好,对不起。Vinko在我面前发布了,现在我学到了新东西:)



0

下面是第二个David的回答:用户登录时,我需要自动安装网络驱动器。Dokan SSHFS是一个不错的工具,但在这种情况下不够可靠。我发现的Netdrive副本不支持SSHFS或sftp-不知道是否较新的版本。

我正在试用的解决方案现在涉及添加虚拟网络适配器(禁用文件共享),使用plink通过新适配器打开到运行SAMBA的远程计算机的隧道,并在新适配器上安装网络驱动器。http://www.blisstonia.com/eolson/notes/smboverssh.php上还有另一个有用的教程。

可以使用登录脚本设置隧道和网络驱动器,因此登录后几秒钟,用户可以使用映射的驱动器而无需执行任何操作。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.