一般我们选择的云服务器或者VPS主机默认的SSH端口都是22。但是考虑到服务器的安全,我们还是需要更换22端口为其他端口。同时,我们还需要在服务器或者主机面板上进行端口的白名单放行。这篇文章,老蒋记录在Linux云服务器修改22默认端口。
1、修改文件
打开 SSH 配置文件 /etc/ssh/sshd_config,可以使用文本编辑器vi打开:
vi /etc/ssh/sshd_config
2、修改端口
在文件中找到 #Port 行(默认情况下,它被注释掉了),去掉行首的 # 号,并将端口号替换为您想要的新端口号。例如,假设您要将端口号改为 2222,那么行应该类似于:
Port 2222
如果您同时希望只允许用 SSH 密钥进行身份验证,请找到 #PasswordAuthentication yes 行,去掉行首的 # 号,并将 yes 改为 no,即:
PasswordAuthentication no
这样将禁用密码身份验证,只能使用 SSH 密钥进行登录。
3、保存编辑
保存更改并退出编辑器。按下 Ctrl + X 组合键,然后输入 'Y' 保存,最后按下 Enter 键退出。
重新启动 SSH 服务以应用配置更改。可以使用以下命令来重启 SSH 服务:
sudo systemctl restart sshd
修改 SSH 端口后,确保您的防火墙(如 UFW)已配置以允许新的 SSH 端口。例如,如果您使用 UFW,则可以运行以下命令来允许新端口:
sudo ufw allow 2222
如果您使用其他防火墙解决方案,请相应地进行配置。
4、测试效果
测试新的 SSH 端口是否生效。在远程连接时,我们需要将 SSH 命令中的端口号更改为新端口号。例如:
ssh user@your_server_ip -p 2222
其中 user 是您的用户名,your_server_ip 是服务器的 IP 地址。
请注意,修改 SSH 端口是为了增加安全性,但同时也可能导致无法远程连接到服务器。因此,在进行此操作之前,请确保您能够通过新的 SSH 端口正确地远程访问服务器。