服务器(sshd)作为Linux上非常重要的服务,安全性是很重要的,首先网上有很多专门的服务器用来扫描SSH默认的22端口并使用弱口令之类的密码字典进行暴力破解,虽然可以使用lnmp自带的denyhosts、fail2ban之类的安装脚本,但是将默认SSH端口改掉能过滤掉大部分SSH暴力破解的访问。该教程适合常见的CentOS/Fedora/RedHat、Debian/Ubuntu等常见的Linux发行版。
SSH服务器的配置文件为:/etc/ssh/sshd_config
具体修改步骤如下:
1、备份原sshd配置文件
cp /etc/ssh/sshd_config /etc/ssh/sshd_config.backup
2、修改sshd配置文件
可以使用winscp、nano、vim之类的软件编辑 /etc/ssh/sshd_config
查找Port 22,有可能 Port 22 是注释的(即前面有#号,有的话删掉 # 号)。
在 Port 22 下面添加一行 Port 3322 其中3322为你更改SSH后的端口。
这里建议先保留原来的22端口,待新的SSH端口测试正常工作后再删掉原Port 22 端口行。
修改完成后保存。
3、重启SSH服务器
重启SSH服务器命令:systemctl restart sshd
如果没有systemctl的话可以执行:/etc/init.d/sshd restart 或 /etc/init.d/ssh restart
如果没有报错的话就生效了,可以 ss -ntl 或 netstat -ntl 查看一下端口。
4、防火墙、安全组规则设置
iptables添加SSH新端口规则:
iptables -A INPUT -p tcp --dport 3322 -j ACCEPT #3322替换为新的端口#
然后保存iptables规则
firewalld添加SSH新端口规则:
firewall-cmd --permanent --zone=public --add-port=3322/tcp #3322替换为新的端口#
firewall-cmd --reload #重载firewalld#
阿里云之类的安全组规则添加SSH新端口规则:
阿里云之类的有安全组之类设置的云服务器一定要在安全组规则里将新端口添加到“入方向”的允许规则。
5、putty、xshell之类的SSH软件连接测试
添加上新的SSH端口后一定要通过putty、xshell之类的SSH软件连接测试一下,测试可以正常连接然后再编辑 /etc/ssh/sshd_config 将Port 22 这一行直接删除或这一行前面加 # 注释掉,然后再按前面的命令重启生效