如何在Linux服务器和Windows客户端之间创建SSH隧道

建立一个 SSH隧道 用于加密所有连接(无论,例如,如果您转到https或http页面)并连接到 网络 通过一个 安全通道。 这个“安全”渠道无非是 服务器 为此配置。 例如,此服务器可能在您的家里。


此方法的“缺点”是,您始终必须打开计算机并将其正确配置为可以用作SSH服务器,但是它可以使您大大提高连接的安全性,甚至可以逃避网络管理员施加的连接限制。 (例如您的工作)。

我听到你问:这真的可以帮助我吗? 好吧,让我们假设以下情况:您正在使用免费Wi-Fi的网吧或餐厅中,并且需要进行银行转帐或其他重要操作。 当然,始终建议在安全的环境中进行这些类型的交易。 但是,有一个解决方案:SSH隧道。 这样,我们可以通过“安全”服务器连接到Internet。

此方法对于避免在许多工作环境中对连接施加的限制也很有用。 无法通过工作访问YouTube? 嗯,SSH隧道可能是解决方案,因为所有请求都将通过“安全”服务器发出。 换句话说,由于安全服务器的IP未被阻止(是的,YouTube的IP),因此您可以“规避”此限制(无法访问YouTube),因为对于公司的管理员来说,通过网络连接,您的计算机仅在与“安全”服务器通信,并且不知道通过它实际上您正在浏览许多页面。

在本教程中,我们将解释“典型”情况:Linux服务器,Windows客户端。

配置Linux服务器

1.- 安装SSH服务器。 为此,我打开了一个终端并运行:

En Ubuntu:

须藤 apt-get 安装 openssh-server

En :

pacman -S 打开sh

En Fedora:

yum -y安装openssh-server

准备。 现在,您将能够使用SSH客户端访问Ubuntu(SSH服务器)。

2.- 安装后,查看配置文件很有用:

须藤纳米/ etc / ssh / sshd_config

通过此文件,您可以轻松配置SSH服务器。 我的建议是仅修改2个参数:port和allowusers。

为了避免可能的攻击,建议更改SSH将使用的端口。 默认情况下,它带有值22,您可以选择另一个最适合您的值(就本教程而言,我们选择443,但也可以是其他任何值)。

Allowusers参数允许您限制用户以及可以选择连接主机的访问权限。 以下示例限制了对SSH服务器的访问,以便只有某某用户才能从主机10.1.1.1和10.2.2.1进行访问。

允许用户so and so@10.1.1.1 mengano@10.1.1.1 so and so@10.2.2.1 mengano@10.2.2.1

配置路由器

如果您的服务器在路由器后面,则必须对其进行配置,以使其不会阻止传入的连接。 更具体地说,您必须进行配置。

在进行讨论并显示必要的配置之前,谨慎地解释一下端口转发的内容是明智的。

假设您有一个由3台计算机组成的局域网,所有这些计算机都位于路由器后面。 如何通过传入连接(例如SSH)与本地网络的计算机1通信? 不要忘记“从外部”这3台计算机尽管具有本地IP,但共享一个公用IP,通过它们它们可以连接到Internet。

解决上述问题的方法是端口转发。 因此,当收到到我们公共IP的端口X的传入连接时,路由器会将其引用到相应的计算机。 这样,无论何时通过该端口连接,我们都知道路由器将重定向我们(因此将端口转发)到相应的计算机。 所有这些,显然必须在路由器中进行配置。

根据您使用的路由器,端口转发配置会有所不同。 最实用的是参观 Portforward.com,选择您使用的路由器型号,然后按照此处描述的步骤进行操作。

配置Windows客户端

要从Windows连接,可以将PuTTY工具用作SSH客户端。

1.- 第一步是下载PuTTY

如您在PuTTY下载页面上所见,有多个版本可用。 我建议下载该程序的便携式版本:putty.exe。 选择便携式版本的优点是,无论何时何地,您都可以随身携带它,并可以在任何计算机上运行该程序。

2.- 打开PuTTY,并指定SSH客户端应连接到的服务器的IP(公共)和端口。 如何找出服务器的公共IP? 只需使用Google“什么是我的公共IP”就可以轻松地找到数千个提供此服务的页面。

3.- 如果“客户端”位于代理后面,请不要忘记正确配置它。 如果您不确定要输入什么数据,请打开Internet Explorer,然后转到“工具”>“连接”>“ LAN设置”>“高级”。 复制并粘贴在PuTTY中显示的数据,如下图所示。 在某些情况下,您可能必须输入用户名和密码。

4.- 必须输入“本地”端口转发的数据以构建SSH隧道。 转到“连接”>“ SSH”>“隧道”。 这里的想法如下,我们必须告诉PuTTY哪些连接可以“转移”到我们的安全服务器。 为此,我们必须选择一个端口。

我的建议(尤其是在机器位于代理之后的情况下)是您选择端口443,因为它是SSL用来建立安全连接的端口,这将使管理员很难发现您在做什么。 另一方面,端口8080是HTTP使用的端口(这不是“安全”连接),因此经验丰富的网络管理员可能会感到可疑,甚至可能已将该端口用于其他类型的连接。

在“目标”中,重新输入安全服务器的IP,然后在标题为“ Configure the router”的点和〜/ .ssh / config文件中输入冒号和您打开的端口。 例如192.243.231.553:443。

选择动态(将创建SOCKS连接,我们将在下一点中使用它),然后单击添加。

5.- 我回到了PuTTY主屏幕,单击“保存”,然后单击“打开”。 第一次连接到服务器时,将显示如下警告消息:

6.- 然后,它将要求提供可访问服务器的用户名和密码。

如果一切顺利,完成登录后,您应该会看到类似下面的内容...

7.-最后,在不关闭PuTTY的情况下,打开并配置Firefox(或您喜欢的浏览器)以通过PuTTY连接到Internet。


12条评论,留下您的评论

发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   何塞·丹尼尔·罗德里格斯

    第6步中的一个问题,我应该输入哪个用户名和密码

  2.   何塞

    很好,我会尝试用我的房子进行配置

  3.   Al

    从我的家里访问互联网:
    通过56k调制解调器进行拨号连接,
    我运行具有以下配置的.bat文件:
    @回声关闭
    C:
    CD C:\ Windows
    腻子-N -C -D 1080 -P 443 -ssh 用户@ 00.00.000.000 -pw通行证
    Exit 退出
    与在此配置的腻子有什么关系
    形式:在控制代理使用的选项中,我将其放在代理的http中
    主机名我放置了代理和端口3128,并输入了用户名和密码
    我将我的数据保留了下来,并保存了所有其他内容
    首次配置为默认设置
    为了使用mozilla,yahoo Messenger等,我必须代理
    以此方式配置了Proxifier版本3的应用程序:
    在地址为127.0.0.1端口1080袜子版本5的代理服务器中,
    在代理规则中,我添加了腻子应用程序,并在操作中添加了
    直接执行,以便所有程序都可以通过该程序输出。
    我需要知道如何在Android手机上实现
    我通过connectify连接到我的电脑,并且它从
    电话访问。 我需要教程和apks为我解决这个问题
    困境。 预先致意和感谢

  4.   克林特·伊斯特伍德

    有必要说明SSH服务器将如何神奇地处理客户端发出的HTTP请求。

    1.    埃罗尔弗林

      错误的Clint Eastwood。

      有了本教程中解释的“神奇地”,它就可以工作!

      一点也不薄弱,而是我要说的很具体。

      对于没有经验的人,很好的解释了。

      问候

      1.    让我们使用linux

        它为您服务有多好! 一个拥抱! 保罗

  5.   杜马斯Linux

    效果很好。

    如下所示,使用WinSCP的SSH隧道:

    http://www.sysadmit.com/2014/05/linux-tuneles-ssh-con-winscp.html

  6.   詹皮尔·赞布拉诺·库埃娃

    很好很好解释5 *谢谢

  7.   罗德里戈

    一个问题…
    如果我要在两台Linux机器之间建立一条隧道怎么办? 我遇到以下情况:在工作中,我们摆弄了PC,我们想测试视频会议软件,因此必须在avandonado PC上安装服务器。 问题是,当安装软件(bigbluebutton)时安装失败...我们发现问题是该安装组件的下载被阻止了(我不是计算机科学家,我是一个不断学习的老师)...
    随着公司的发展壮大,通过网络帮助我们的可能性还不到零。
    所以,我在想通过ssh隧道将服务器(ubuntu服务器)与我的家用PC(具有ubuntu)连接,然后安装软件...
    这是可能的? 他们帮我吗?

  8.   uan

    您好,我有一个查询,我想连接到我在虚拟机中的Debian服务器上拥有的应用程序,该应用程序已安装在Windows上,并且我想从另一个网络访问该应用程序,请有人指导我。 。

  9.   anony

    如何安装和配置SSH服务器
    https://www.youtube.com/watch?v=iY536vDtNdQ

  10.   托斯科

    您好,我有一个困扰我很多的问题,我决定去咨询社区..我在这里,看看您是否可以帮助我..我在虚拟化世界中是“新”的, linux。

    情况如下:我已经安装了带有linux服务器14.04.5 LTS的虚拟机,已经在Vbox中将网络配置为选择网络适配器的“网桥适配器”。 进入服务器后,我已经安装了几件事,也就是说,我可以访问Internet ..在其中,我已经安装了SSH服务,默认情况下保留端口22和ftp服务“ vsftpd”。

    当查询«ifconfig»命令时,它会回答我:
    链接封套:以太网地址HW 08:00:27:d5:2c:88
    地址inet:192.168.0.13扩散:192.168.0.255 Masc:255.255.255.0
    ......

    现在,要使用ssh(端口10)将具有Putty的计算机(Windows 22)连接到我的虚拟服务器,我使用ip“ 192.168.0.13”,对于FTP也是一样,但是如果我想让家里的朋友连接到我的服务器通过SSH或FTP,我们无法使用我在计算机上使用的IP。

    我想知道为什么这是因为我认为在本地可以使用ip“ 192.168.0.13”,也就是说,我应该配置其他内容,修改/ etc / network / interfaces,在iptables中进行修改吗?
    好吧,我希望我的服务器能够作为一个公共IP,任何人都可以通过访问连接到该IP。

    提前致谢!