前言
在同个局域网内ssh远程Ubuntu,一般只需要知道Ubuntu的IP地址就可以。但对于想要在不同局域网下同样能够ssh远程Ubuntu,比如在家远程公司的Ubuntu,在家远程学校的Ubuntu….,又该如何进行设置?
这里主要教大家通过内网穿透的方式来ssh远程,不需要申请公网IP,也不需要进入路由器,在Ubuntu上安装个内网穿透工具就可以,非常简单。
以cpolar内网穿透为例,亲测好用,可以用免费或者付费【ps:付费支持21天退款保证】,支持http/https/tcp协议,也可以将本地内网的web网站发布到外网上访问。
1. 安装cpolar内网穿透客户端
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
2. 查看版本号
cpolar version
3. token认证(登录后台,查看自己的认证token,之后将token贴在命令行里)
cpolar authtoken xxxxxxx
4. 简单穿透测试
cpolar http 8080
5. 向系统添加服务
sudo systemctl enable cpolar
6. 启动cpolar服务
sudo systemctl start cpolar
7. 查看服务状态,如正常显示为active
则为正常启动状态
sudo systemctl status cpolar
8. 登录后台,查看隧道在线状态
安装完成后,cpolar会默认安装两个样例隧道,一个是Website隧道指向http 8080端口,一个是ssh隧道,指向tcp 22端口。而我们需要用到的,就是ssh隧道,我们登录cpolar后台–>状态,查看一下ssh隧道映射的公网地址:
9. 远程控制端电脑,输入命令在外网远程ssh连接就可以
ssh -p XXXXX 用户名@1.tcp.vip.cpolar.cn(X为cpolar生成的端口号,用户名替换为主机用户名)
示例:
ssh -p 20013 ubuntu@1.tcp.vip.cpolar.cn
10. 外网远程ssh连接内网的Ubuntu成功,实现任意地点远程ssh连接内网的Ubuntu。另外,也可以配置固定的远程公网地址,方便后期远程Ubuntu。
需要注意的是,使用免费的cpoalr内网穿透所生成的公网地址为随机临时地址,24小时内会随机变化。如果需要长期远程访问建议配置固定的公网TCP端口地址,并提高带宽,实现更为高效流畅的远程。