Skip to content

端口安全和数据库ssh配置

端口安全

先说点废话,我不知道别人是怎么配置端口的,以前我不懂,现在看到了一个大佬的服务器被攻击了,我立马就看看我的服务器,发现我的服务器端口存在着巨大的安全隐患,比如22、3306端口,最好不要用默认,有两个端口是开放80、443,其他的端口只有 本服务器指定的IP 才能访问。

本服务器大部分接口都是本服务器才能访问,不允许其他人访问,比如数据库、后端的3000、4000等

指定的IP:哪些端口才能被指定的IP访问呢?比如22的ssh远程连接服务器端口、宝塔面板端口

哪些是指定的IP呢?比如你家里的网络,只有你家的网络才能访问,连接热点都不行,在公司也不行,(指定多个IP才行,如果指定一个IP,那就只能在指定那个网络才能使用)。

TIP

只能服务器访问:127.0.0.1

只能指定IP访问:113.22.10.123(测试不写真的)

我菜,所以用宝塔~😄

image-20260306013848331

阿里云也要设置,阿里云这边是127.0.0.1/32,为什么是32呢?不知道,这跟网络的子网掩码有关。

image-20260306014120347

然后你的后端的端口,比如连接数据库可以直接写 127.0.0.1:3306 来连接,而不用写120.25.12.10:3306,当然了数据库本身在一个服务器里面的,随你怎么写,都可以的;只是有时候开发环境和生产环境别搞混就行。

DANGER

端口的安全很重要,有些端口是不能让别人访问到的,好了不逼逼了,如果别人有技术手段想要得到你的端口照样搞得到,只是该配置的还是要配置得。

数据库ssh配置

平时我们用Navicat连接数据库都是很 常见 的操作,下图这样的直接连接就行了。

image-20260306015417106

注意

为什么不一样?因为我们做了端口的限制,除了服务器别人访问不到数据库,所以需要用ssh来连接。

不用ssh连接行不行呢?行的,只是会有一丢丢的安全问题,我们不是只有 127.0.0.1 服务器才能访问数据库吗,我们只要把自己指定的IP填上也是可以访问的,指定IP就是只能在指定的网络(家里)才能用,在公司用不了滴。

但是,如果你想用ssh连接就不一样了,在天上地下都能连上😄,只是这个配置一开始不知道的,很懵。

image-20260306020202948

这里呢,我要说明一下。

TIP

✅使用ssh隧道

主机:服务器的IP地址

端口:看你自己设置的,默认22

用户名:默认是root

验证方法:密码和密钥都行

​ 1.密码就是你连接服务器的密码, ssh -p 22 root@120.120.120.120 ,然后就是输入密码,这样才能远程连接服务器。

​ 2.密钥需要去宝塔中下载,(远程登录最好密码和密钥登录,都要),看下图

image-20260306020735571

密钥拿到后,ssh的信息都填好后(还没完),就可以回到常规那边了(需要修改一些配置)

image-20260306021212595

注意:现在主机不再是服务器IP了,而是 127.0.0.1 ,端口就是数据库的端口(自己设置),然后点击左下角的 测试链接 就行了

补充:第一次会需要输入远程登录密码的,我这里不是第一次,而且我用的是密钥不是密码,所以显示私钥,直接点 好 就行

image-20260306022850514

总结

配置好 ssh 后需要回到常规才能连接数据库,与正常的连接数据库不一样

程序员小洛文档