无宿舍路由器管理权限时,如何远程访问Ubuntu台式机的终端?
无宿舍路由器管理权限时,如何远程访问Ubuntu台式机的终端?
嗨,我完全懂你的处境——宿舍的公网路由器没法自己改配置,常规的端口转发路子走不通对吧?别担心,咱们有两种靠谱的办法能实现远程SSH访问你的Ubuntu台式机,先从你已经完成的步骤确认开始:
你之前安装并配置openssh-server的操作都是对的:
sudo systemctl enable ssh(设置SSH服务开机自启)sudo ufw allow ssh(让防火墙放行SSH的默认22端口)sudo systemctl start ssh(启动SSH服务)
这部分没问题,现在重点解决没有路由器端口转发权限的核心问题。
方案一:反向SSH隧道(需要一台有公网IP的VPS)
如果你手头有一台云服务器(比如各大云厂商的轻量应用服务器,自带公网IP),可以用反向隧道的思路,让你的Ubuntu主动连接到云服务器,然后从其他设备通过云服务器中转访问你的台式机。
具体步骤:
- 在你的Ubuntu台式机终端里,执行这条命令(替换成你的云服务器用户名和公网IP):
👉 解释:这条命令会把你Ubuntu本地的22端口(SSH默认端口)映射到云服务器的2222端口。ssh -R 2222:localhost:22 vps_username@vps_public_ip - 现在从其他设备(比如家里的电脑、手机),先SSH连接到你的云服务器,接着在云服务器的终端里执行:
输入你的Ubuntu密码后,就能直接操控你的台式机终端了。ssh ubuntu_username@localhost -p 2222 - 要是想让这个隧道长期保持(比如Ubuntu重启后自动重连),可以用
autossh工具实现自动保活:- 先安装工具:
sudo apt install autossh - 执行自动重连命令:
autossh -M 20000 -R 2222:localhost:22 vps_username@vps_public_ip-M参数是指定一个监控隧道状态的端口,一旦隧道断开会自动尝试重连。
- 先安装工具:
方案二:内网穿透工具(无需公网VPS)
如果没有自己的云服务器,用免费的内网穿透工具也能搞定,比如ngrok(免费版完全够个人日常使用):
具体步骤:
- 在你的Ubuntu台式机上,下载对应amd64架构的ngrok压缩包,解压后就能直接使用。
- 注册一个ngrok账号,获取你的专属授权令牌(token)。
- 在Ubuntu终端里执行授权命令(替换成你的令牌):
./ngrok config add-authtoken 你的授权令牌 - 启动SSH端口的穿透:
./ngrok tcp 22 - 执行后,终端会输出类似
tcp://0.tcp.ngrok.io:12345的地址,其中0.tcp.ngrok.io是中转域名,12345是随机分配的端口。 - 现在从其他设备的终端里,用这个地址进行SSH连接(替换成你的Ubuntu用户名、对应的域名和端口):
输入密码后就能远程操控你的台式机了。ssh ubuntu_username@0.tcp.ngrok.io -p 12345
⚠️ 小提示:免费版ngrok的中转域名和端口每次重启工具都会变化,要是需要固定地址的话可以考虑升级付费版,不过临时远程访问完全够用。
最后再补充两个小细节:
- 可以用
systemctl status ssh命令检查你的Ubuntu上的SSH服务状态,确保它处于active (running)状态。 - 手机端的话,推荐用Termius、JuiceSSH这类专业的SSH客户端APP,输入地址和端口就能轻松连接。
备注:内容来源于stack exchange,提问作者AbdulMuhaymin
相关产品推荐
相关产品推荐

