如何通过SSH隧道连接学校服务器

问题

学校服务器处于校园网内,服务器虽然有公网IP,但校园有防火墙限制外部IP访问
因此当提前返乡 的时候,我们访问不了实验室服务器会很头疼。

本文介绍两种方法:

  1. 通过中间代理服务器建立隧道,适用于客户端没有公网IP的情况。
  2. 通过直接点对点建立隧道

名称说明

服务器:指学校实验室服务器。
客户端:指个人电脑。
端口转发代理服务器:指中间服务器,具有公网IP。

方法1

可以自己搭建代理服务器,也可以使用现有的服务提供商。
本文介绍采用服务提供商的方法,因为更加简单。

蒲公英是一款内网穿透软件,其提供免费但有限的内网穿透服务。

首先,在服务器上安装蒲公英客户端,然后进行设置将服务器的内网端口绑定到客户端上。

缺点:

  1. 免费版蒲公英只有两个端口转发限额,并且速率限制1Mb/s,除此之外每月只有1GB转发流量。

其他问题

在采用方法1的过程中,学校突然出于安全考虑把蒲公英的端口转发代理服务器IP禁了,导致无法远程访问,因此作者尝试方法2。

方法2

由于SSH有端口转发功能,可以把本地的端口转发到远程的某个端口上,也可以把远程的端口转发到本地的某个端口上。

假设客户端具有公网IP地址,为A,且客户端开启SSHD服务。

我们可以在服务器上输入:

ssh -R 7004:localhost:4004 user@A -v

以上将服务器的4004端口转发到客户端的7004上。
SSH连接成功后,我们可以在客户端的7004端口访问服务器4004的应用。

缺点:

  1. 配置麻烦;
  2. 客户端往往是动态公网IP,因此要定期重配。

其他问题

实际情况中,客户端往往没有独立公网IP,但客户端连接的上级路由有公网IP,并且我们有上级路由的管理权限。

这时,未满可以登入上级路由器的管理页面,添加一个端口映射服务。

假设路由器的IP为A,路由器提供B端口将客户端的SSHD端口映射到公网。

我们可以在服务器上输入:

ssh -R 7004:localhost:4004 user@A -v -p B

然后就可以正常使用了。

你可能感兴趣的:(服务器,ssh,网络)