修改ssh端口的详细步骤

2016-06-06 23:47:18 查看 3622 回复 0

使用centos7系统。为了防止服务器再次被攻击,所以建议以下几点:

1. root密码要复杂一点,尽量字母数字特殊字符都有

2. ssh端口最好修改成自己的不要使用默认的22端口

3. 如果可以的话重新增加个用户,然后修改禁止root远程登录

修改ssh端口的详细步骤(centos7):

step1 修改/etc/ssh/sshd_config

vi /etc/ssh/sshd_config 

#Port 22         //这行去掉#号,防止配置不好以后不能远程登录,还得去机房修改,等修改以后的端口能使用以后在注释掉

Port 20000      //下面添加这一行 

step2 修改firewall配置

firewall添加想要修改的ssh端口:

firewall-cmd --zone=public --add-port=20000/tcp --permanent
#(permanent是保存配置,不然下次重启以后这次修改无效)

reload firewall:

firewall-cmd --reload

#查看添加端口是否成功,如果添加成功则会显示yes,否则no

firewall-cmd --zone=public --query-port=20000/tcp 

step3 修改SELinux

使用以下命令查看当前SElinux 允许的ssh端口:

semanage port -l | grep ssh

 #添加20000端口到 SELinux

semanage port -a -t ssh_port_t -p tcp 20000

 

#然后确认一下是否添加进去

semanage port -l | grep ssh

#如果成功会输出

ssh_port_t                    tcp    20000, 22 

step4 重启ssh

systemctl restart sshd.service 

step5 测试新端口的ssh连接

测试修改端口以后的ssh连接,如果成功则将step1里面的port 22 重新注释掉

修改ssh端口的详细步骤(centos6):

step1 修改/etc/ssh/sshd_config

vi /etc/ssh/sshd_config 
#Port 22         //这行去掉#号,防止配置不好以后不能远程登录,还得去机房修改,等修改以后的端口能使用以后在注释掉

Port 20000      //下面添加这一行 

step2 修改iptables配置

iptables添加想要修改的ssh端口:

/sbin/iptables -I INPUT -p tcp --dport 22 -j ACCEPT 

/etc/rc.d/init.d/iptables save (service iptables save)

/etc/init.d/iptables restart  

step4 重启ssh

service sshd restart 

 

step5 测试新端口的ssh连接

测试修改端口以后的ssh连接,如果成功则将step1里面的port 22 重新注释掉

禁用Root 远程登陆

 先在ssh的配置文件里修改Root 远程登陆参数。 禁用root远程登陆。 然后创建一个远程登陆用户。 用这个用户登陆之后,在切换到root用户,拿到最高权限。

 

2.1 创建普通权限的用户


useradd ruser 
passwd ruser 

2.2 禁止ROOT远程SSH登录

    #vi /etc/ssh/sshd_configPermitRootLogin yes

    改为

    PermitRootLogin no 

  

2.3  重启sshd服务

#service sshd restart 

 

 注意:这些修改不影响已经连接的SSH。 只对以后的的连接产生影响。

 

注意: 如果系统开起了iptables防火墙,那么还需要把修改之后的端口号添加到防火墙里面,不然SSH会连不上。  关于防火墙端口的添加,参考Blog:

 Linux iptables 防火墙 添加删除 端口

iptables -A INPUT -p tcp --dport 新的ssh端口 -j ACCEP

iptables -A OUTPUT -p tcp --sport 新的ssh端口 -j ACCEPT 

删除

iptables -D INPUT -p tcp --dport 22 -j ACCEPT