爱好主机的站长,想必都是从原来的虚拟主机做起的,如今VPS也非常便宜,且独立IP,可以自己搭建WEB环境等。那么安全就显得尤为重要,在默认开通VPS之后,给予的端口是22,如果我们不去修改,就会给其他有目的的人有利用空间,不管是通过人工猜测还是软件的暴力破解,都有可能从默认的端口猜测到密码。
如果我们开始就修改默认端口,那即便需要猜测和破解密码,需要先找到端口,至少可以增加VPS被入侵的难度,下面将给大家分享如何修改VPS默认SSH端口。
一、手工方法如下:
第一步,进入系统并编辑文件sshd_config
使用xshell或者putty登录VPS,默认的VPS一般是22端口,然后输入
vi /etc/ssh/sshd_config
我们只需要修改22数字为任意的数字即可
第二步,重启SSH
我们在上面修改且退出之后,需要重启SSH才可以生效。
#centos
/etc/init.d/sshd restart
#debian或者ubuntu
/etc/init.d/ssh restart
如果我们使用的是CENTOS系统或者debian/ubuntu,使用不同的命令重启SSH。
这样,重启之后,默认的端口就改变,我们就可以用新的端口登录SSH,或者SFTP,这样安全性更高。
第三步,补充
一般的上面2步骤就完毕,但是有些时候为了确保还需要设定防火墙是否开启。
/sbin/iptables -I INPUT -p tcp --dport 28888(你修改的端口) -j ACCEPT
/etc/init.d/iptables save
这样才能确保万无一失,我们可以用iptables -L -n检查端口是否开启。
二、自动修改端口方法:
系统要求:支持Debian
、Ubuntu
、CentOS
系统。
若系统为mini版本,则需要先关闭SELINUX,通过getenforce查看SELINUX是否启用,如果显示是Disabled说明是关闭的,如果显示是enforcing说明是启用的。
[root@dev-server ~]# getenforce
Disabled
永久关闭selinux,进入vi /etc/selinux/config
文件,将SELINUX=enforcing改为SELINUX=disabled,然后reboot重启服务器即可。
若需要关闭防火墙,则运行如下命令:
systemctl stop firewalld service
systemctl disable firewalld.service
运行以下命令:
wget --no-check-certificate https://www.moerats.com/usr/down/sshport.sh
bash sshport.sh
输入端口确认。
再打开防火墙端口:
#如果防火墙使用的iptables(Centos 6),修改端口为8080
iptables -I INPUT -p tcp --dport 8080 -j ACCEPT
service iptables save
service iptables restart
#如果使用的是firewall(CentOS 7)
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
最后重启ssh
生效:
#CentOS系统
service sshd restart
#Debian/Ubuntu系统
service ssh restart
然后就可以使用新端口SSH
登录,不过对于更安全的登录方式当属使用密钥登录。
部分转载自:https://www.moerats.com/archives/394/
文章评论