1

在SSH上开辟SMB隧道

Posted in 杂七杂八 at 十二月 1st, 2011 / 1 Comment »

利用SSH Tunnels(安全Shell隧道),你就可以对所有的网络通信进行加密,又可以在你连接到不可信网络时转接到可信网络。这个攻略的主旨就是让Windows用户能够安全地访问Samba服务器上的共享文件。

  那么,什么是SSH Tunnels(安全Shell隧道)呢?SSH(安全Shell)服务器除了提供远程shell访问和命令执行以外,它还可以转发端口到你连接的另一端。这对于保护你私人通信是非常有用的。简言之,它绑定一个本地端口、加密通信、发送加密数据到远程机器并且解密,还有发送加密数据到你指定远程主机和端口。

  Samba和Windows都用139端口来共享文件。乍一看,好像只要在Windows的139端口上建立隧道连接到Samba服务器就可以很容易地解决问题。这样你就可以容易地通过连接“本地主机”而连接到远程共享。但是由于Windows总是利用139端口来共享文件,这样你就要防止本地文件共享转发端口了。

  所以,我们应该怎么在SSH上开辟SMB(服务器信息块)隧道并且令本地文件共享维持工作呢?我们打算利用一个虚拟的网络适配器。从根本上来说,一个虚拟网络适配器就是一个使计算机连接到网络的应用软件。我们就要在我们的Windows系统上添加一个虚拟适配器,并在虚拟接口上建立一个SSH隧道。

  在Windows添加一个虚拟网络适配器,有以下几个步骤:

  1.在“控制面板”点击“添加硬件”。

  2.在“添加硬件向导”中,选择“是,我已经连接了此硬件”然后点击“下一步”。下拉列表并点击“添加一个硬件设备”。

  3.选择“安装我从列表中手动选择的硬件”。在硬件类型中选择“网络适配器”,然后选择“微软回送适配器”。

  4.完成安装步骤。

  下一步就是配置新的虚拟适配器。

  1.打开“网络连接”配置面板。

  2.右击“微软回送适配器”并选择“属性”。

  3.选择“Internet协议(TCP/IP)”并点击“属性”。

  4.选中“使用以下IP地址”,输入所选的IP地址(例如10.0.0.1)和子网掩码(255.255.255.0)。如果你的网络有网关和DNS服务器,那么把它们也输入。

  5.点击“高级”按钮,在WINS标签中选中“禁用TCP/IP上的NetBIOS”。

  建立SSH隧道

  现在你已经配置好了虚拟适配器,那么我们就要在Samba服务器和你的计算机之间建立SSH隧道了。我们假设OpenSSH已经在Samba服务器上运行。在SSH客户端我们使用软件Putty,这是一个支持转发端口的免费SSH客户端软件。

  在你计算机上激活Putty,并输入主机名和你Samba服务器的IP地址(例如192.168.0.104)。在隧道选项中,在“源端口”填入10.0.0.1:139(我们在例子中所用的IP地址),在“目标站”填入127.0.0.1:139。点击“添加”,然后点“打开”。一旦你鉴定成功,你就可以利用虚拟适配器访问Samba服务器了。

  要测试你的SSH隧道,只需用Windows explorer打开\\10.0.0.1。如果一切正常,你就可以输入用户名和密码来访问共享了。快试试,享受一下其中的乐趣吧。

  当发生错误的时候

  如果发生错误,先确保Samba和Putty都在运行和配置好了。如果你在一个封闭的环境中运行Windows XP SP2(没有接入Internet进行更新),那么就先安装KB884020。

Published in 杂七杂八
Tags: , ,

One Response to “在SSH上开辟SMB隧道”

  1. 二月 26th, 2013 at 9:14 上午 #郑瀚

    你好,我按照你的步骤实验了,可是到了最后一步,在本机 \\10.0.0.1 打开共享界面,却没有反应,不知道是为什么?想问一下还有没有什么细节要注意的

Leave a Reply

请输入算式结果(看不清请点击图片)
(必须)