无公网IP的内网电脑,通过ngrok穿透,实现远程ssh

思路

服务器centos
安装宝塔Linux面板
通过ngrok内网穿透,实现远程访问宝塔面板
通过宝塔面板的ssh终端,实现控制

以后会研究tcp映射ssh

1.安装ngrok服务
1.1下载安装 (这里使用的是小米球http://ngrok.ciqiuwl.cn/)
我用的是编译好的客户端,直接下载解压就可以使用
路径 /home/user/ngrok
1.2.注册小米球账号,并拿到token
1.3.配置ngrok.conf 配置文件(参考《配置参考.jpg》)
需要修改的有token
tunnels的名字(httptun)
subdomian:四级域名,http 和https可以通过四级域名自动访问
tcp穿透,不能指定端口号,ngrok服务器自动分配端口。
后面我使用了linux启动加载服务,所以,服务启动了就是在后台运行的。
目前我也拿不到ssh的映射。
无公网IP的内网电脑,通过ngrok穿透,实现远程ssh_第1张图片

2.测试ngrok

###进入ngrok的解压目录
./ngrok -config ngrok.conf start httptun httpstun ssh ftp

测试成功,通过外网路径可以访问服务器,说明ngrok配置成功。然后我们配置。

3.设置开启自动启动服务
3.1由于安装了宝塔面板,mysql,apache等服务,所以把ngrok也放在服务启动项里面
3.2编写参数脚本ngrok.sh,放在ngrok;路径下(/home/user/ngrok)

path=/home/bowenxu/ngrok 
$path/ngrok -config $path/ngrok.conf start http https bowenxussh zcvftp

3.3编写启动项脚本ngrok,放在init.d目录下(etc/init.d)

#!/bin/sh
#chkconfig:2345 70 30
#description:ngrok

ngrok_path=/home/bowenxu/ngrok
case "$1" in
	start)
		echo "start ngrok service.."
		sh ${ngrok_path}/ngrok.sh
		;;
	*)
	exit 1
	;;
esac

3.4添加启动项

chkconfig -–add ngrok

3.5重启

reboot

3.6查看服务启动状态

chkconfig --list
注:该输出结果只显示 SysV 服务,并不包含
原生 systemd 服务。SysV 配置数据
可能被原生 systemd 配置覆盖。 

      要列出 systemd 服务,请执行 'systemctl list-unit-files'。
      查看在具体 target 启用的服务请执行
      'systemctl list-dependencies [target]'。

bt              0:关    1:关    2:开    3:开    4:开    5:开    6:关
mysqld          0:关    1:关    2:开    3:开    4:开    5:开    6:关
netconsole      0:关    1:关    2:关    3:关    4:关    5:关    6:关
network         0:关    1:关    2:开    3:开    4:开    5:开    6:关
nginx           0:关    1:关    2:开    3:开    4:开    5:开    6:关
ngrok           0:关    1:关    2:开    3:开    4:开    5:开    6:关
php-fpm-73      0:关    1:关    2:开    3:开    4:开    5:开    6:关
phserver        0:关    1:关    2:开    3:开    4:开    5:开    6:关
pure-ftpd       0:关    1:关    2:开    3:开    4:开    5:开    6:关
[root@localhost init.d]# 

大功告成

你可能感兴趣的:(运维)