利用Holer进行内网穿透——可在外网通过ssh登陆到内网Linux服务器(亲测使用手机热点的笔记本可以连接到Linux服务器)
Holer简介
Holer是一个将局域网中的应用映射到公网访问的端口映射软件,支持转发基于TCP协议的报文。
前言
最近要放假了,但是假期需要使用学校内的服务器跑深度学习(没办法是个穷学生,买不起网上的服务器…)。可是问题是学校内的服务器是连的校内的网,也就是内网,出了学校就不能内网ssh登陆了(外网连接内网一般都是不容易实现的)。这时只能借助有公网IP的服务器作为桥进行消息中转,holer服务器正是实现这个桥的功能。这里只需要装java环境、holer、ssh服务、以及访问端的ssh客户端(如Xshell、Putty等)即可,不需要其他软件。
1、配置Holer环境(内网中的服务器,我用的是Ubuntu18.04)
1.1 安装java环境
按照这位大佬的教程即可:Linux上Java的安装与配置
我安装的是这个版本(java1.8):
去官网下载还要登陆因此附上该版本的百度云链接 提取码: c004
1.2 配置Holer
这里仅配置的是ssh服务,如果需要web、数据库等可看这里
1.首先下载并解压holer软件包(建议下载v1.2,可设置开机启动),/wisdom-projects/holer/tree/master/Binary/Java
2.解压后修改配置文件: holer-client/conf/holer.conf
这里使用免费的密钥,添加下面的命令:
Holer Client :HOLER_ACCESS_KEY=HOLER_CLIENT-822404317F9D8ADD
这个只能是自己测试用,因为有可能被别人挤掉,可以花钱买,不贵。链接: /.
3.启动holer服务
进入目录: holer-client/bin
执行命令(Linux): sh startup.sh
1.3 Linux配置ssh服务
使用这位大佬的教程即可:Ubuntu配置SSH服务器
2 、配置ssh客户端(家中电脑,我的是Win10)
我用的是xshell其他类似,配置如下:
主要配置主机和端口号,链接之后输入服务器账号和密码即可,附上连接成功的截图:
3、设置开机启动
进入holer-client/bin目录下,执行su进入rootCentOS 7, RedHat 7, Ubuntu 18 及更高版本,建议执行命令bash setup-service.sh设置开机启动;根据提示输入holer access key和holer server host
输入示例:
Enter holer access key: HOLER_CLIENT-822404317F9D8ADDEnter holer server host:
重启后尝试ssh登陆,如果可以登录即配置成功。如果不成功,其中一个原因可能是root权限下不能执行java命令,按照我上述提供的java安装方法可能会出现这种情况,此时需要修改holer-client/bin目录下的startup.sh脚本内容:
在JAVA_BIN=$JAVA_HOME/bin/java
语句前增加JAVA_HOME=你的Java home
例如我这里就是JAVA_HOME=/usr/java/jdk1.8.0_221
,再重新执行bash setup-service.sh 即可。
参考链接:
[1]./michaelliang12/article/details/98098791 (本文主要参考)
[2]./wangudongdong/article/details/80216603
[3]./mirrors/holer/
如遇问题欢迎进行留言,相互讨论学习。