服务器管理 🛠️ 端口配置 | vestacp面板下SS端口修改细节问题

在保障服务器安全时,许多用户会选择更改SSH(Secure Shell)的默认端口,以降低被暴力破解的风险。常见做法是编辑 /etc/ssh/sshd_config 文件,将 Port 22 修改为其他不常用的端口号,然后通过命令 /etc/init.d/ssh restart 重启SSH服务,使配置生效。

不过,仅仅更换端口并不能从根本上杜绝安全隐患。更稳妥的方法,是采用密钥认证方式登录,并彻底关闭密码登录功能。这一流程大致分为以下几个步骤:

1. 生成密钥对

首先,需要在服务器上生成一对公私钥。以root身份执行如下命令:

ssh-keygen -t rsa

系统会提示你输入保存路径,直接回车即可使用默认位置(通常为 /root/.ssh/id_rsa)。接下来可以设置一个密码短语,也可留空。完成后,会在 .ssh 目录下生成 id_rsa(私钥)和 id_rsa.pub(公钥)。

2. 导入公钥

将刚才生成的公钥内容追加到授权文件中:

cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys

这样,只有拥有对应私钥的人才能通过SSH连接该账户。

3. 配置 SSH 服务支持密钥认证

编辑 /etc/ssh/sshd_config 文件,确保以下三行没有注释符号“#”,并且值均为yes或正确路径:

RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

保存后,再次重启SSH服务使修改生效。

4. 客户端适配注意事项

如果你使用的是Putty客户端,由于其不识别标准的OpenSSH格式私钥,需要借助Puttygen工具将 id_rsa 转换成 .ppk 格式再导入。如果使用Xshell等支持OpenSSH密钥格式的软件,则无需转换,可直接加载原始私钥文件。

5. 禁用密码登录

为了进一步提升安全性,应禁止基于密码的远程登录。在 /etc/ssh/sshd_config 中找到

PasswordAuthentication yes

将其修改为

PasswordAuthentication no

同样去掉前面的注释符号,并重启SSH服务。

需要特别注意的是,如果你的服务器安装了如VestaCP面板等管理工具,同时还开启了fail2ban防火墙机制,在上述操作之前务必先调整fail2ban规则,否则可能因未同步新端口而导致自己无法正常连接服务器。例如,如果你把默认22端口改成8063,那么防火墙规则也要相应更新,否则fail2ban有可能会阻止你的新连接请求。

以上方法能有效提升Linux服务器的远程访问安全性,但每一步操作都需谨慎进行,建议提前备份相关配置文件,以便出现问题时及时恢复。

信息参考来源:国外主机测评、VestaCP官方文档、Fail2Ban官方指南

服务器管理 🛠️ 端口配置 | vestacp面板下SS端口修改细节问题