如何使用ssh隧道访问受限服务器并安全浏览

SSH客户机连接到安全Shell服务器,该服务器允许您像坐在另一台计算机前一样运行终端命令。但是SSH客户机还允许您在本地系统和远程SSH服务器之间“隧道”端口。...

如何使用ssh隧道访问受限服务器并安全浏览

SSH客户机连接到安全Shell服务器,该服务器允许您像坐在另一台计算机前一样运行终端命令。但是SSH客户机还允许您在本地系统和远程SSH服务器之间“隧道”端口。

有三种不同类型的SSH隧道,它们都用于不同的目的。每种方法都涉及使用SSH服务器将流量从一个网络端口重定向到另一个网络端口。通信量是通过加密的SSH连接发送的,因此不能在传输过程中对其进行监视或修改。

您可以使用Linux、macOS和其他类似UNIX的操作系统上包含的ssh命令来实现这一点。在不包含内置ssh命令的Windows上,我们建议使用免费工具PuTTY来连接ssh服务器。它也支持SSH隧道。

本地端口转发:在本地系统**问远程资源

“本地端口转发”允许您访问不暴露于Internet的本地网络资源。例如,假设您想从家中访问办公室的数据库服务器。出于安全原因,该数据库服务器仅配置为接受来自本地办公网络的连接。但是,如果您可以访问办公室的SSH服务器,并且该SSH服务器允许从办公室网络外部进行连接,那么您可以从家连接到该SSH服务器,并像在办公室一样访问数据库服务器。通常是这样,因为保护单个SSH服务器免受攻击比保护各种不同的网络资源更容易。

为此,您需要与SSH服务器建立SSH连接,并告诉客户机将来自本地PC的特定端口(例如,端口1234)的通信转发到数据库服务器的地址及其在办公网络上的端口。因此,当您尝试访问位于端口1234的数据库服务器时,您当前的PC“localhost”会自动通过SSH连接“隧道”该流量并发送到数据库服务器。SSH服务器位于中间,来回转发通信量。您可以使用任何命令行或图形工具访问数据库服务器,就像它在本地PC上运行一样。

要使用本地转发,请正常连接到SSH服务器,但也要提供-L参数。语法是:

ssh -L local_port:remote_address:remote_port [email protected]

例如,假设您办公室的数据库服务器位于办公网络上的192.168.1.111。您可以访问办公室的SSH服务器ssh.youroffice.com,并且您在SSH服务器上的用户帐户是bob。在这种情况下,您的命令如下所示:

ssh -L 8888:192.168.1.111:1234 [email protected]

运行该命令后,您就可以访问localhost上8888端口的数据库服务器。因此,如果数据库服务器提供web访问,您可以http://localhost:8888以访问您的web浏览器。如果您有一个需要数据库网络地址的命令行工具,您可以将它指向本地主机:8888。发送到您电脑8888端口的所有流量都将通过隧道传输到办公网络上的192.168.1.111:1234。

如何使用ssh隧道访问受限服务器并安全浏览

如果要连接到与SSH服务器本身运行在同一系统上的服务器应用程序,则会有点混乱。例如,假设您的办公计算机上有一个SSH服务器在端口22处运行,但在同一系统的同一地址上也有一个数据库服务器在端口1234处运行。您想从家访问数据库服务器,但系统只接受端口22上的SSH连接,其防火墙不允许任何其他外部连接。

在这种情况下,可以运行如下命令:

ssh -L 8888:localhost:1234 [email protected]

当您尝试访问当前PC上8888端口的数据库服务器时,流量将通过SSH连接发送。当它到达运行SSH服务器的系统时,SSH服务器将把它发送到“localhost”上的端口1234,这是运行SSH服务器本身的同一台PC。因此,从远程服务器的角度来看,上面命令中的“localhost”意味着“localhost”。

如何使用ssh隧道访问受限服务器并安全浏览

要在Windows上的PuTTY应用程序中执行此操作,请选择Connection>SSH>Tunnels。选择“本地”选项。对于“源端口”,输入本地端口。对于“目的地”,请在“远程”窗体中输入目的地地址和端口_地址:远程端口。

例如,如果您想像上面那样设置相同的SSH隧道,您可以输入8888作为源端口,然后本地主机:1234 as目的地。单击“添加”,然后单击“打开”打开SSH连接。当然,在连接之前,您还需要在主“Session”屏幕上输入SSH服务器本身的地址和端口。

如何使用ssh隧道访问受限服务器并安全浏览

远程端口转发:使本地资源可在远程系统**问

“远程端口转发”与本地转发相反,使用频率不高。它允许您在SSH服务器上使用本地PC上的资源。例如,假设您在坐在前面的本地PC上运行web服务器。但是你的电脑在防火墙后面,不允许进入服务器软件的流量。

假设可以访问远程SSH服务器,则可以连接到该SSH服务器并使用远程端口转发。您的SSH客户机将告诉服务器转发一个特定的端口,比如SSH服务器上的端口1234到当前PC或本地网络上的特定地址和端口。当有人访问SSH服务器上的1234端口时,该通信量将通过SSH连接自动“隧道化”。任何可以访问SSH服务器的人都可以访问运行在你电脑上的web服务器。这是一种有效的穿越防火墙的方法。

要使用远程转发,请使用带有-R参数的ssh命令。语法与本地转发基本相同:

ssh -R remote_port:local_address:local_port [email protected]

假设您希望使一个服务器应用程序在本地PC上的端口1234上侦听,并在远程SSH服务器上的端口8888上可用。SSH服务器的地址是ssh.youroffice.comSSH服务器上的用户名是bob。您可以运行以下命令:

ssh -R 8888:localhost:1234 [email protected]

然后,有人可以在8888端口连接到SSH服务器,并且该连接将通过隧道传输到您建立连接的本地PC上在1234端口运行的服务器应用程序。

如何使用ssh隧道访问受限服务器并安全浏览

要在Windows上的PuTTY中执行此操作,请选择Connection>SSH>Tunnels。选择“远程”选项。对于“源端口”,输入远程端口。对于“目的地”,请以本地格式输入目的地地址和端口_地址:本地港口。

例如,如果您想设置上面的示例,您可以输入8888作为源端口,然后本地主机:1234 as目的地。单击“添加”,然后单击“打开”打开SSH连接。当然,在连接之前,您还需要在主“Session”屏幕上输入SSH服务器本身的地址和端口。

然后人们可以连接到SSH服务器上的8888端口,他们的通信量将通过隧道传输到本地系统上的1234端口。

如何使用ssh隧道访问受限服务器并安全浏览

默认情况下,远程SSH服务器将只侦听来自同一主机的连接。换句话说,只有与SSH服务器本身在同一系统上的人才能连接。这是出于安全考虑。如果要覆盖此行为,则需要在远程SSH服务器上的sshd\u config中启用“GatewayPorts”选项。

动态端口转发:使用ssh服务器作为代理

相关:VPN和代理有什么区别?

还有“动态端口转发”,其工作原理类似于代理或VPN。SSH客户机将创建一个SOCKS代理,您可以配置要使用的应用程序。所有通过代理发送的流量都将通过SSH服务器发送。这类似于本地转发,它将本地通信发送到PC上的特定端口,并通过SSH连接将其发送到远程位置。

相关:为什么使用公共Wi-Fi网络会很危险,即使访问加密的网站也是如此

例如,假设您使用的是公共Wi-Fi网络。你想安全地浏览而不被窥探。如果您可以访问家中的SSH服务器,则可以连接到它并使用动态端口转发。SSH客户端将在您的PC上创建一个SOCKS代理。发送到该代理的所有流量都将通过SSH服务器连接发送。监控公共Wi-Fi网络的人将无法监控您的浏览或审查您可以访问的网站。从你访问的任何网站的角度来看,你都会觉得自己就像坐在家里的电脑前。当然,这也意味着您可以在美国境外使用此技巧访问仅限美国的网站,前提是您可以访问美国境内的SSH服务器。

另一个例子是,您可能希望访问家庭网络上的媒体服务器应用程序。出于安全原因,您可能只有一个SSH服务器暴露在Internet上。不允许从Internet到媒体服务器应用程序的传入连接。您可以设置动态端口转发,将web浏览器配置为使用SOCKS代理,然后通过web浏览器访问家庭网络上运行的服务器,就像您坐在家中的SSH系统前面一样。例如,如果您的媒体服务器位于家庭网络上的端口192.168.1.123,您可以使用SOCKS代理将地址192.168.1.123**到任何应用程序中,这样您就可以像在家庭网络上一样访问媒体服务器。

要使用动态转发,请使用-D参数运行ssh命令,如下所示:

ssh -D local_port [email protected]

例如,假设您可以访问ssh.yourhome.comSSH服务器上的用户名是bob。您想使用动态转发在当前电脑的8888端口打开SOCKS代理。您需要运行以下命令:

ssh -D 8888 [email protected]

然后可以配置web浏览器或其他应用程序以使用本地IP地址(127.0.01)和端口8888。来自该应用程序的所有流量都将通过隧道重定向。

如何使用ssh隧道访问受限服务器并安全浏览

要在Windows上的PuTTY中执行此操作,请选择Connection>SSH>Tunnels。选择“动态”选项。对于“源端口”,输入本地端口。

例如,如果您想在8888端口上创建一个SOCKS代理,您应该输入8888作为源端口。单击“添加”,然后单击“打开”打开SSH连接。当然,在连接之前,您还需要在主“Session”屏幕上输入SSH服务器本身的地址和端口。

然后可以配置一个应用程序来访问本地PC上的SOCKS代理(即IP地址127.0.0.1,指向本地PC)并指定正确的端口。

如何使用ssh隧道访问受限服务器并安全浏览

相关:如何在Firefox中配置代理服务器

例如,您可以将Firefox配置为使用SOCKS代理。这特别有用,因为Firefox可以有自己的代理设置,而不必使用系统范围的代理设置。Firefox将通过SSH隧道发送流量,而其他应用程序将正常使用您的Internet连接。

在Firefox中执行此操作时,请选择“手动代理配置”,在SOCKS主机框中输入“127.0.0.1”,并在“端口”框中输入动态端口。将HTTP代理、SSL代理和FTP代理框留空。

如何使用ssh隧道访问受限服务器并安全浏览

只要您打开SSH会话连接,隧道就会保持活动和打开状态。当您结束SSH会话并断开与服务器的连接时,隧道也将关闭。只需重新连接相应的命令(或PuTTY中的相应选项)即可重新打开隧道。

  • 发表于 2021-04-08 08:02
  • 阅读 ( 213 )
  • 分类:互联网

你可能感兴趣的文章

用堡垒主机保护您的网络只需3个步骤

... 安装SSH后,请确保将SSH服务器设置为使用密钥而不是密码进行身份验证。确保您的堡垒主机的IP与上面的端口转发规则中设置的IP相同。 ...

  • 发布于 2021-03-12 01:44
  • 阅读 ( 337 )

隧道耳朵:最简单的vpn保护您的隐私

...进一步的设置。只需在20个受支持的国家/地区中选择一个服务器,就可以开始了。您甚至可以使用自动连接功能来选择性能最好的服务器。 ...

  • 发布于 2021-03-13 19:58
  • 阅读 ( 220 )

ssh和vpn的区别是什么?哪个更安全?

...通过向任何人**VPN接入来赚钱。他们经常在许多国家建立服务器。人们被吸引到这些服务是因为各种各样的原因,这些原因与连接到雇主的基础设施无关。 ...

  • 发布于 2021-03-14 04:40
  • 阅读 ( 413 )

vpn与dns:哪一种最适合安全视频流?

... 当然,改变你的DNS服务器或使用VPN可以有额外的好处以外的世界地理封锁。然而,许多用户不会在意这些好处。 ...

  • 发布于 2021-03-14 07:34
  • 阅读 ( 344 )

什么是vpn连接?它是如何工作的?

...在线隐私,你很有可能使用VPN连接。如果您直接通过ISP的服务器访问web,它们提供了一层无法获得的隐私。 ...

  • 发布于 2021-03-22 03:19
  • 阅读 ( 238 )

ssh是什么?它代表什么?

... SSH使用上述两种加密类型在客户机-服务器模型中创建安全连接。当客户机试图创建与服务器的连接时,每一方都会通信其加密协议。 ...

  • 发布于 2021-03-28 08:50
  • 阅读 ( 325 )

什么是反向ssh隧道?(以及如何使用)

...用隧道。 所以我们得到了“反向SSH隧道”这个名字 它是如何工作的? 反向SSH隧道依赖于远程计算机使用已建立的连接来侦听来自本地计算机的新连接请求。 远程计算机监听本地计算机上的网络端口。如果它检测到对该端口的SS...

  • 发布于 2021-04-03 08:32
  • 阅读 ( 211 )

如何从windows、macos或linux连接到ssh服务器

SSH客户机允许您连接到运行SSH服务器的远程计算机。secureshell(SSH)协议通常用于远程终端连接,允许您访问远程计算机上的文本模式终端,就像您坐在它旁边一样。它还可以用于SSH隧道、SCP文件传输等。 窗户 相关:使用SSH...

  • 发布于 2021-04-07 14:38
  • 阅读 ( 246 )

如何在firefox中配置代理服务器

...,因为Chrome、Edge和Internet Explorer不允许您设置自定义代理服务器。它们只使用系统范围的代理设置。使用Firefox,您只能通过代理路由一些web流量,而不必为系统上的每个应用程序使用代理。 要访问Mozilla Firefox中的代理设置,请...

  • 发布于 2021-04-08 08:13
  • 阅读 ( 207 )

如何从地球上任何地方访问区域限制网站

...,如果您想访问基于美国的服务,您需要一个基于美国的服务器,该服务器具有足够的上传和下载带宽。这就是VPN服务器。一些vpn可能会提供免费服务,这些服务会被限制在非常慢的速度下工作,或者将您的带宽限制在一定的范...

  • 发布于 2021-04-09 09:16
  • 阅读 ( 206 )
nbtmct173951
nbtmct173951

0 篇文章

相关推荐