Windows 10 上的 SSH 隧道到 Linux Samba

Bla*_*ege 14 ssh samba cifs ssh-tunnel windows-10

我知道这个问题已经被问过几次了,但我认为我的问题可能略有不同。也许我不了解问题的基本原理。

我有一个 Linux Samba 共享,我想通过 ssh 隧道从 Windows 中使用它。当我在 VPN 上时,我可以访问 Samba 共享,并且隧道端口 139 在 Linux 上工作正常。当我从 VPN 之外的 Linux 机器访问共享时,我需要做的就是像这样转发端口 139:

ssh user@remotehost -L 1139:localhost:139
Run Code Online (Sandbox Code Playgroud)

然后挂载驱动:

mount -t cifs //remotehost/shared /mnt/cifs -o username=myuser,password=mypass,ip=127.0.0.1,port=1139
Run Code Online (Sandbox Code Playgroud)

对于 Windows,我尝试按照教程通过 PuTTY 创建环回适配器和隧道:http : //www.nikhef.nl/~janjust/CifsOverSSH/Win8Loopback.html

这不起作用,所以我尝试遵循使用端口 139 而不是 445 的不同教程:https : //www.simonholywell.com/post/2009/04/samba-file-share-over-ssh-tunnel/

这两个教程都没有奏效,所以我想我的第一个问题是我实际上需要转发这些端口中的哪一个?我需要端口 139、端口 445 还是两者都需要?我不明白这可能是什么问题。

如果您需要任何其他信息,请告诉我,我曾尝试使用 nmap 进行故障排除,但没有取得任何进展。

Got*_*ttZ 10

如何将 smb 代理到 Windows 10 客户端:

用于隧道的 ssh n 内容的简短描述

  1. 启动 hdwwiz.exe

  2. 网络适​​配器 -> Microsoft KM-TEST 环回适配器 -> 完成

  3. 禁用该新网络接收器中除 ipv4 以外的所有内容

  4. 在 ipv4 设置中设置一个 ip,255.255.255.255 作为子网掩码并禁用 netbios

    • 如果您无法决定 IP,只需使用 192.168.2.123。
      遗憾的是,不可能为此使用 127.0.0.2 或类似版本。由于某些未知原因,Windows 将无法连接到它。
  5. 高架窗户外壳

    • sc config lanmanserver start= delayed-auto
      可悲的是,运行这是必需的,因为微软会将它的 smb 废话绑定到 0.0.0.0:445 从而使其无法自己收听该端口。
      微软也不希望您在 445 以外的端口上使用 smb。
    • 运行netsh interface portproxy add v4tov4 listenaddress=192.168.2.123 listenport=445 connectaddress=192.168.2.123 connectport=44445
      这将确保 445 在 lanmanserver 启动后立即保持绑定。因此,您可以在 44445 上生成一个监听器来监听 445,而不会出现 eaddrinuse 错误等。
  6. 编辑%windir%\system32\drivers\etc\hosts并添加适当的映射,如:
    192.168.2.123 smbproxy

  7. 重启

  8. 只是使用 ssh -L 192.168.2.123:44445:internalsmbhost:445 sshuser@publicjumphost

  9. 打开资源管理器并导航到 \\smbproxy

您还可以为此在您的主机文件中创建多个映射。
好处是您的笔记本电脑/PC 的多个用户可以使用不同的用户名/会话访问您的 nas,而不会因为其他人已经在使用该资源而让您感到恼火。

随意打开windows的任务创建工具在系统启动时启动它。

这是从我的 readme.md 中获取的,我为我的 websocket 代理https://gitfap.de/GottZ/websocketproxy


编辑:我们现在在 2020 年。为此使用wireguard。它比 ssh 可靠得多。


小智 5

您只需要转发端口 445。在 Putty 中,本地端口应为 loopbackIP:44445(或任何其他未使用的端口),转发目标应为 localhost:445 或 127.0.0.1:445。

按照此链接中的程序对我有用http : //how-to.cc/setup-windows-filesharing-over-ssh

请注意,所有对服务“smb”的引用都需要更改为服务“服务器”。

如果它仍然不起作用,您可以尝试在 windows 机器上禁用 samba v3 或尝试在 linux 服务器上升级 samba。请参阅此链接https://it.awroblew.biz/windows-10-and-problems-accessing-smb-shares/

  • 和 how-to.cc 的链接似乎已经死了...... (2认同)