如何配置ubuntu可被外网访问【内网穿透】
在局域网内ssh远程登录到ubuntu,只需要知道被控端的IP地址就可以。但对于想要在家里/宿舍/公司,也能够远程ssh访问ubuntu时,应该怎么设置呢?
在ipv4公网IP资源枯竭的情况下,运营商基本不会分配公网IP。而想要实现公网访问内网/局域网,普遍是通过内网穿透来实现。
如cpolar内网穿透,支持http/https/tcp协议,可免费使用,并且不限制流量。能够将本地端口映射到公网上,生成公网,实现外网任意地点远程访问内网。
以下介绍通过cpolar内网穿透来实现外网远程ssh登录ubuntu:
【确认ubuntu有安装ssh,并且在局域网内能够ping通,且能够远程ssh】
1、注册并安装cpolar内网穿透
1.1 cpolar 安装(国内使用)
curl -L https://www.cpolar.com/static/downloads/install-release-cpolar.sh | sudo bash
或 cpolar短链接安装方式:(国外使用)
curl -sL https://git.io/cpolar | sudo bash
1.2 查看版本号
cpolar version
1.3 token认证
登录后台,查看自己的认证token,之后将token贴在命令行里
cpolar authtoken xxxxxxx
1.4 简单穿透测试
cpolar http 8080
按ctrl+c退出
1.5 启动cpolar服务
sudo systemctl start cpolar
1.6 查看服务状态
sudo systemctl status cpolar
1.7 登录后台,查看隧道在线状态
https://dashboard.cpolar.com/status
1.8 安装完成
2、获取ssh隧道的公网地址
2.1 登录cpolar web UI管理界面在浏览器访问:http://localhost:9200/,输入所注册的cpolar账号密码,登录cpolar web UI管理界面

2.2 查看ssh隧道所映射的公网地址
cpolar会默认安装ssh隧道,指向22端口,tcp协议。在启动服务后,即会自动生成公网地址。

3、外网远程ssh访问内网的ubuntu
控制端电脑打开终端命令行,输入命令,远程ssh访问局域网内的ubuntu。
如cpolar已经将本地22端口映射到了20013端口,所以,ssh命令需要加-p参数,后面加公网隧道端口号
示例:
ssh cpolar@1.tcp.vip.cpolar.cn -p 20013
ssh ubuntu用户名@cpolar公网地址 -p XXXXX(cpolar生成的端口号)
在输入正确的命令后,Ubuntu会出现提示信息,询问是否确定连接该端口,并要求输入Ubuntu系统的密码,此时分别输入“yes”和ubunt系统密码即可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
· Apache Tomcat RCE漏洞复现(CVE-2025-24813)