如何在Chrome OS上使用SSH隧道

Chromebook内含的Crosh shell和SSH命令提供了对SSH隧道的内置支持。SSH隧道允许您使用VPN或加密代理等SSH连接,通过安全隧道发送浏览流量。

这使你可以在公共网络上浏览时加密流量,访问被地理屏蔽的内容,甚至可以通过隧道绕过互联网审查,就像中国的长城防火墙一样。

步骤1:打开SSH通道

相关:Chrome OS的Hidden Crosh Shell中包含10+个命令

在任何操作系统上设置SSH隧道时,有两个步骤。首先,您需要建立到SSH服务器的连接并打开隧道。

要执行此操作,请在Chrome OS中的任意位置按Ctrl+Alt+T打开Crossh shell。外壳将在浏览器选项卡中打开。

接下来,使用适当的ssh命令连接到SSH服务器并建立隧道。为此,您可以运行ssh命令,然后在其自己的行上键入每个选项,如下所示:

运行CONNECT命令后,系统将提示您输入密码以向服务器进行身份验证或解锁密钥文件。

你也可以使用谷歌官方的Secure Shell应用程序来实现这一点。启动扩展并在登录窗口中输入SSH服务器的详细信息。在参数框中,输入-D 8800或您选择的其他端口号。

步骤2:让Chrome操作系统使用隧道

相关:使用SSH服务器可以做的5件很酷的事情

通道现在已打开,但您的Chromebook不会自动使用它。您需要在Chrome中将通道指定为代理,这将导致Chrome通过通道发送流量。

这里有一些问题,因为Chrome OS通常不会通过隧道发送DNS请求(参见错误29914)。这是因为Chrome OS默认使用SOCKS4协议作为隧道,尽管它支持更安全的SOCKS5协议。在Chrome OS的用户界面中设置代理时,没有选择SOCKS5的选项(见错误199603)。

如果您不关心DNS请求是否通过当前连接发送,您只需以正常方式启用代理即可。要做到这一点,请打开Chromebook的设置页面,并选中互联网连接下的“允许共享网络的代理”选项。接下来,单击您的Internet连接的名称,单击到Proxy选项卡,然后选择“手动代理配置”。在SOCKS主机的右侧,输入“localhost”和您之前指定的端口。

要简单地配置SOCKS5代理,请使用代理SwitchySharp扩展。它允许您输入适当的详细信息并选择SOCKS5,使用Chrome代理API更改您的代理设置,以便Chrome使用SOCKS5代理。

使用SwitchSharp选项页可以创建新的代理配置文件,并将其命名为类似于“SSH隧道”的名称。在SOCKS主机右侧的手动配置下,输入“localhost”作为地址,并输入您之前选择的端口号。选择“SOCKS v5”选项。当您使用此代理配置文件时,它将通过SSH隧道转发您的流量。

如果你不想使用浏览器扩展,你可以创建自己的代理自动配置(PAC)文件并将Chrome指向它。要做到这一点,只需使用文本编辑器(Caret是适用于Chrome OS的很好的脱机文本编辑器),然后在其中输入以下文本:

function FindProxyForURL(url, host) { return "SOCKS5 localhost:8800"; }

当然,如果您没有选择8800,您应该输入您之前选择的端口。使用.pac文件扩展名保存文本文件-例如,您可以只将其保存在Downloads文件夹中。

现在您可以重新访问代理配置屏幕并选择“自动代理配置”。输入.pac文件的路径,该文件可以自己存储在Chromebook上,也可以存储在远程服务器上。例如,在Chrome OS上访问您的下载文件夹的路径为file:/home/chronos/user/Downloads/.。因此,由于我们将文件保存为sshtunel.pac,因此我们将在此处输入file:/home/chronos/user/Downloads/ssh_tunnel.pac。

如果您在使用代理配置时开始看到连接错误,可能是因为您的SSH连接已关闭。你将需要以同样的方式重新连接到SSH服务器,或者取消设置代理选项,让你的Chromebook再次直接连接到互联网。

图片制作人:Flickr上的sigckgc

相关文章