最近也养上虾了,为了不影响其它业务,使用虚拟机ubuntu系统安装,没有公网IP ,与NAS同在一个内网,在外也需要SSH连接调试使用。
Lucky装在NAS上,而且已经设置好Web服务反向代理,可以从外网访问到NAS,再用它额外设置一下,就能从外网通过SSH连到内网的Linux服务器,步骤很简单,实测能用。
●一、先准备好这几点
- 确保NAS的Lucky服务正常运行(已经设置好Web服务反向代理,不用再动这部分);
- NAS能连上内网的Linux服务器,而且Linux的SSH功能已经打开(默认端口22,不确定的话,在Linux上输
systemctl status ssh看看); - 记好3个东西:内网Linux服务器的IP(最好设成固定IP,不然会变)、Linux的SSH端口(默认22)、NAS的公网IP或域名;
- 后续设置的外网端口,要在NAS防火墙里放行,不然连不上。
●二、Web界面配置
先打开Lucky的Web管理页面,登录进去。
- 登录后,找到「端口转发/内网穿透」,别点错成「Web服务」(Web服务不管用);
- 监听端口(外网):随便选个没被占用的,比如60022,选50000以上的端口更稳妥;
- 目标地址:填内网Linux服务器的IP,别填NAS的IP,比如192.168.1.105;
- 目标端口:填22(如果Linux改过硬端口,就填改后的)。
- 保存好,然后启动这个转发规则,确认显示「运行中」;
- 最后去NAS的防火墙设置,把刚才选的外网端口(比如60022)放行,选TCP协议。
●三、测试能不能连上
在外面的设备上(比如手机、笔记本),打开SSH客户端(Xshell、终端都行),按下面来:
- 填连接信息:主机填NAS的公网IP或域名,端口填刚才设的60022,用户名和密码是Linux服务器的;
- 也可以输命令:
ssh -p 60022 用户名@NAS公网IP/域名,比如ssh -p 60022 root@123.123.123.123; - 能登上Linux的命令行,就说明成了;连不上的话,先检查Lucky规则是不是在运行、NAS防火墙有没有放行端口、Linux的IP和端口对不对。
四、避坑提醒(别踩雷)
- 只能用「TCP端口转发」,Web反向代理连SSH不管用;
- 目标地址一定要填Linux的IP,别填成NAS的IP;
- 如果连不上,换个外网端口试试,可能是端口被占用了;
- 安全点:尽量用密钥登录Linux,少用密码,定期改密码,别用22、80这些常用端口。