在路由器上设置SSH以从任何位置进行安全Web访问

headerimage

从Wi-Fi热点,工作或远离家中的任何其他地方连接到互联网,会使您的数据遭受不必要的风险。 您可以轻松地配置您的路由器以支持安全隧道,并屏蔽远程浏览器流量 - 阅读,了解如何。

什么是和为什么设置安全隧道?

您可能会好奇为什么甚至想要设置从您的设备到您的家庭路由器的安全隧道,以及您将从这样的项目获得什么好处。 让我们列出几个不同的情况,涉及你使用互联网来说明安全隧道的好处。

情景一:你在一家咖啡店,使用你的笔记本电脑通过他们的免费Wi-Fi连接浏览互联网。 数据离开您的Wi-Fi调制解调器,通过空气未加密到咖啡店的Wi-Fi节点,然后传递到更大的互联网。 在从您的计算机传输到更大的互联网,你的数据是开放的。 任何在该区域使用Wi-Fi设备的人都可以嗅探您的数据。 它是如此痛苦容易的一个积极的12岁的一台笔记本电脑及复印件Firesheep可能抢夺了您的凭据以各样的事情。 这就像你在一个充满英语的人的房间,说一个电话说普通话。 一个说普通话的人来了(Wi-Fi嗅探器)你的伪隐私被粉碎了。

情况二:你在一家咖啡店,使用你的笔记本电脑通过他们的免费Wi-Fi连接再次浏览互联网。 这次您使用SSH在笔记本电脑和家庭路由器之间建立了加密隧道。 您的流量通过此隧道直接从笔记本电脑路由到作为代理服务器的家庭路由器。 这个管道对于Wi-Fi嗅探器来说是不可穿透的,它只会看到乱码的加密数据。 无论如何建立,如何不安全的Wi-Fi连接,您的数据保持在加密隧道,只有离开它,一旦它已经到达您的家庭互联网连接,退出到更大的互联网。

在情景一,你冲浪大开; 在情景二中,您可以登录到您的银行或其他私人网站,您将从您的家庭计算机拥有相同的信心。

虽然我们在示例中使用Wi-Fi,您可以使用SSH隧道来保护硬线连接,例如在远程网络上启动浏览器,并穿过防火墙,像在您的家庭连接上一样自由地浏览。

听起来不错吗? 这是非常容易设置,所以没有时间像现在 - 你可以让你的SSH隧道启动并在一小时内运行。

你需要什么

whatyouneed

有很多方法可以设置SSH隧道来保护您的网络浏览。 对于本教程,我们将重点放在以最简单可能的方式设置SSH隧道,对于使用家庭路由器和基于Windows的计算机的用户来说,最少的麻烦。 要遵循我们的教程,您需要以下事项:

  • 运行的路由器番茄DD-WRT修改固件。
  • SSH客户端像PuTTY
  • 一个socks兼容的Web浏览器像火狐

对于我们的指南,我们将使用番茄,但说明几乎完全相同,你会遵循DD-WRT,所以如果你运行DD-WRT随意跟随。 如果你没有你的路由器检查出修改固件我们的指南,安装DD-WRT番茄继续之前。

为我们的加密隧道生成密钥

2011-07-12_154823

虽然在我们配置SSH服务器之前,直接生成密钥可能看起来很奇怪,如果我们准备好了密钥,我们将能够单次配置服务器。

下载完整的PuTTY包并解压到您选择的文件夹中。 在文件夹内,你会发现PUTTYGEN.EXE。 启动应用程序,并单击键- >生成密钥对 你会看到一个类似上图所示的屏幕; 移动鼠标以生成密钥创建过程的随机数据。 一旦进程完成你的PuTTY键生成器窗口应该看起来像这样; 请输入强密码:

2011-07-12_155057

一旦你在密码插上,继续前进,点击保存私钥 把结果.PPK文件存放在某个地方。 现在,将“粘贴...的公钥...”框的内容复制并粘贴到临时TXT文档中。

如果计划在SSH服务器上使用多个设备(如笔记本电脑,上网本和智能手机),则需要为每个设备生成密钥对。 继续生成,密码,并保存现在需要的附加密钥对。 请确保将每个新的公用密钥复制并粘贴到临时文档中。

配置您的路由器为SSH

2011-07-12_161125

Tomato和DD-WRT都有内置的SSH服务器。 这是真棒的两个原因。 首先,它曾经是一个巨大的痛苦telnet到您的路由器手动安装SSH服务器和配置它。 第二,因为你在你的路由器上运行你的SSH服务器(这可能比一个灯泡消耗更少的功率),你永远不必离开你的主计算机只为一个轻量级的SSH服务器。

在连接到本地网络的计算机上打开Web浏览器。 导航到你的路由器的Web界面,为我们的路由器是Linksys WRT54G运行番茄,地址为http://192.168.1.1 登录到Web界面和导航到管理- > SSH服务 在那里,您需要检查包括启动远程访问 启用 如果您愿意,可以更改远程端口,但这样做的唯一好处是,它会轻微混淆端口打开的原因,如果任何端口扫描您。 取消选中允许密码登录 我们不会使用密码登录从远方访问路由器,我们将使用密钥对。

粘贴您在本教程到授权密钥箱的最后部分产生的公钥(S)。 每个键应该是其自己的条目,用换行符分隔。 关键的ssh-RSA的第一部分是非常重要 如果您不包括每个公钥,它们将对SSH服务器无效。

点击立即启动 ,然后向下滚动到界面的底部,然后点击保存 此时,您的SSH服务器已启动并正在运行。

配置远程计算机以访问SSH服务器

这是魔法发生的地方。 你有一个密钥对,你有一个服务器启动并运行,但没有任何价值,除非你能够远程连接从现场和隧道到你的路由器。 时间到了我们的可靠的网络书,运行Windows 7和设置工作。

首先,复制文件夹的PuTTY您创建到其他计算机(或简单地下载并再次解压缩)。 从这里出来的所有说明都集中在您的远程计算机上。 如果您在家用计算机上运行PuTTy密钥生成器,请确保您已经切换到移动计算机以完成本教程的其余部分。 在您结算之前,您还需要确保您有一个您创建的.PPK文件的副本。 一旦你已经提取了PuTTy,并且.PPK在手,我们准备继续。

启动PuTTY。 您将看到的第一个画面是会话屏幕。 在这里,您需要输入您的家庭互联网连接的IP地址。 这不是您的路由器在本地LAN的IP,这是外部世界看到的您的调制解调器/路由器的IP。 您可以通过查看路由器的Web界面中的主状态页找到它。 端口更改为2222(或者你在SSH服务配置过程取代)。 确保SSH被选中 来吧, 给你的会话的名称,以便您可以将其保存以备将来使用。 我们称自己的番茄SSH。

2011-07-12_164342

导航,通过左侧窗格中,向下连接- >验证 在这里,您需要单击浏览按钮,并选择您保存并带到远程机器的.PPK文件。

2011-07-12_164236

而在SSH子菜单,继续向下SSH - >隧道 在这里,我们将配置PuTTY作为移动数据终端的代理服务器。 检查下端口转发两个框。 下面,在添加新的转发端口部分中, 源端口和路由器的目标 IP地址输入80。 检查自动动态然后单击添加

2011-07-12_165154

仔细检查的条目已经出现在转发端口框。 导航回Sessions部分,然后再次单击Save保存所有配置工作。 现在点击打开 PuTTY将启动终端窗口。 此时可能会收到警告,指示服务器的主机密钥不在注册表中。 继续并确认您信任主机。 如果你担心它,你可以比较它给你在警告消息中的指纹字符串与通过加载它在PuTTY键生成器中生成的密钥的指纹。 一旦你打开PuTTY并点击了警告,你应该看到一个屏幕,看起来像这样:

2011-07-12_171145

在终端,你只需要做两件事。 在登录提示符下键入root。 在密码提示符下输入您的RSA密钥环密码 -这是当你生成密钥,而不是你的路由器的密码,您创建了几分钟前的密码。 路由器外壳将加载,你完成在命令提示符下。 您已经在PuTTY和您的家庭路由器之间形成了安全连接。 现在我们需要指示你的应用程序如何访问PuTTY。

注意:如果您希望以稍微降低安全性的价格简化过程,您可以生成没有密码的密钥对,并设置PuTTY自动登录到根帐户(您可以在连接 - >数据 - >自动登录下切换此设置)。 这减少了PuTTY连接过程,只需打开应用程序,加载配置文件,然后单击打开。

将浏览器配置为连接到PuTTY

2011-07-12_201109

在本教程的这一点上,您的服务器已启动并正在运行,您的计算机已连接到该服务器,只剩下一个步骤。 您需要告诉重要的应用程序使用PuTTY作为代理服务器。 它支持任何应用程序SOCKS协议可以链接到PuTTY,如火狐,mIRC的,Thunderbird和uTorrent的,仅举几例,如果您不确定,如果一个应用程序支持SOCKS周围挖在选项菜单或查阅文档。 这是一个不应忽视的关键元素:默认情况下,所有流量不会通过PuTTY代理路由; 必须被连接到SOCKS服务器。 例如,您可以有一个Web浏览器,您打开SOCKS和一个Web浏览器,你没有在同一台机器上,一个会加密你的流量,一个不会。

为了我们的目的,我们想要保护我们的Web浏览器,Firefox Portable,这是很简单。 Firefox的配置过程实际上转换为您需要插入SOCKS信息的任何应用程序。 启动Firefox并导航到选项- >高级- >设置 连接设置菜单中,在127.0.0.1选择-youre连接到本地计算机上运行PuTTY应用程序下SOCKS主机插件手动配置代理 ,所以你必须把本地主机IP,路由器作为不是IP你已经在每个socket到目前为止。 端口设置为80,然后单击确定。

我们有一个小小的调整,以应用之前,我们都设置。 默认情况下,Firefox不通过代理服务器路由DNS请求。 这意味着您的流量将始终加密,但有人窥探连接会看到您的所有请求。 他们会知道你在Facebook.com或Gmail.com,但他们将无法看到任何其他内容。 如果您要通过SOCKS路由DNS请求,您需要打开它。

2011-07-12_202336

输入about:在地址栏的配置 ,然后点击“我会小心的,我保证!”如果你得到关于如何可以搞砸了你的浏览器了严厉警告。 粘贴network.proxy.socks_remote_dns进入过滤器:框,然后右键单击为network.proxy.socks_remote_dns的条目,并将其切换True。 从这里开始,您的浏览和您的DNS请求将通过SOCKS隧道发送。

虽然我们正在为我们的浏览器配置SSH,但您可能希望轻松切换您的设置。 Firefox有一个方便的扩展, FoxyProxy的 ,这使得它超级容易打开和关闭你的代理服务器。 它支持大量配置选项,例如根据您所在的域,您访问的网站等在代理之间切换等。如果您希望能够根据您是否处于访问状态而轻松地自动关闭代理服务家里或外面,例如,FoxyProxy有你覆盖。 Chrome用户将要检查出代理Switchy! 用于类似的功能。

让我们看看一切是否按计划进行,我们应该怎么办? 为了测试我们打开​​了两个浏览器:Chrome(左侧)没有隧道和Firefox(右侧)新配置使用隧道。

2011-07-12_163523

在左边,我们看到我们连接到的Wi-Fi节点的IP地址,在右边,我们的SSH隧道,我们看到我们的远程路由器的IP地址。 所有Firefox流量都通过SSH服务器进行路由。 成功!


有一个提示或技巧,以确保远程流量? 使用SOCKS服务器/ SSH与特定的应用程序,喜欢它? 需要帮助找出如何加密流量? 让我们在评论中听到它。

赞 (0)
分享到:更多 ()