修改ssh端口的详细步骤
使用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端口的详细步骤(<font color="#ff0000">centos6</font>):**
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_config
把
PermitRootLogin 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
```
评论区