Holer实现外网ssh访问内网Linux系统适用于所有类型的Linux Ubuntu, Redhat, CentOS, SUSE
内网Linux虚拟机上安装了WEB服务器,开启了HTTP和HTTPS以及SSH端口访问,怎样从公网通过HTTP和HTTPS访问虚拟机上的WEB服务器?如何从公网SSH登录Linux虚拟机?
本文将介绍使用holer实现的具体步骤。
准备工作
安装Java 1.7及以上版本
执行命令java -version
检查Java安装和配置是否正确。
安装并启动WEB服务器
默认安装的WEB服务器HTTP端口是80,HTTPS端口是443。
实现步骤
下载并解压holer软件包
Holer软件包:holer-client.zip
修改holer配置文件
在holer官网上申请专属的Holer Access Key。
例如申请得到的holer信息如下,这里以此holer信息为例:
---------------------------------------------
Holer Client : holerdemo@gmail.com
Access Key : 6688daebe02846t88s166733595eee5d
---------------------------------------------
Domain Name : holer65004.wdom.net
Internet Address : holer.org:65004
Local Address : 127.0.0.1:80
---------------------------------------------
Domain Name : holer65014.wdom.net
Internet Address : holer.org:65014
Local Address : 127.0.0.1:443
---------------------------------------------
Internet Address : holer.org:65024
Local Address : 127.0.0.1:22
---------------------------------------------
修改配置文件: holer-client/conf/holer.conf
配置项更新为: HOLER_ACCESS_KEY=6688daebe02846t88s166733595eee5d
启动holer服务
进入目录: holer-client/bin
Linux系统平台:
执行命令: bash startup.sh
访问映射后的公网地址
1). 从公网访问本地WEB服务器,在浏览器里输入如下URL:
HTTP访问:
通过http://holer65004.wdom.net
或者http://holer.org:65004
HTTPS访问:
通过https://holer65014.wdom.net
或者 https://holer.org:65014
2). SSH登录系统:
通过命令ssh root@holer.org -p 65024
问题咨询与帮助
使用holer过程中遇到问题可以先查看holer日志文件,日志路径:holer-client/logs
,这样很容易排查出问题的具体原因。
更多的holer使用示例,请参考holer相关的技术资料。
原文地址:https://www.cnblogs.com/wisdom-projects/p/11936351.html
- 养良好C语言编程风格,编优质C语言代码,这才是C语言的开始
- IBM让《星球大战》中的各种黑科技变成现实
- 学习SVM(二) 如何理解支持向量机的最大分类间隔
- 解密区块链:不可编辑性带来的问题
- 学习SVM(三)理解SVM中的对偶问题
- 学习SVM(四) 理解SVM中的支持向量(Support Vector)
- 转行数据挖掘和机器学习(四)
- 了解ASP.NET MVC几种ActionResult的本质:JavaScriptResult & JsonResult
- 学习SVM(五)理解线性SVM的松弛因子
- 了解ASP.NET MVC几种ActionResult的本质:EmptyResult & ContentResult
- 可视化(番外篇)——SWT总结
- 新年必看!预测2018年将是区块链爆发的行情
- 探秘Tomcat(一)——Myeclipse中导入Tomcat源码
- 解决Myeclipse下Debug出现Source not found以及sql server中导入数据报错
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 为了--force-pivoting参数,我问候了sqlmap开发者
- flexible array柔性数组、不定长的数据结构Struct详解
- 如何优雅打印nginx header和body
- Go的CSP并发模型实现:M, P, G
- Golang依赖管理工具:glide从入门到精通使用
- Redis的Multi的内幕真相
- shell expect权威指南和实战
- 3种方式限制ip访问Oracle数据库
- 服务发现之consul的介绍、部署和使用
- Mybatis处理查询map 为null 导致查询map无该key对象
- 深入对比TOML,JSON和YAML
- consul配置参数大全、详解、总结
- 跳跃表原理和实现
- 你动、蒙娜丽莎跟着一起动,OpenCV这么用,表情口型造假更难防了
- 好用的PHP高性能多并发restful的HTTP Client