Linux 修改SSH 默认端口 22,防止被破解密码

Linux/Unix 系统,不少人使用SSH + 密码来登录服务器,默认 22端口,这样会有被暴力破解密码的危险(除非密码足够复杂且长度很长),所以最好修改SSH默认的22端口为其它随机端口号。html

为了保险起见,推荐先添加一个SSH 随机端口号并添加对应的防火墙规则,而后用这个新的端口链接服务器试试,若是没问题了,咱们再删除默认的22端口。这样作的好处,就是由于若是新修改的端口号没法链接,能够仍然使用默认的22端口登陆,不然,可能没法链接或出现一些问题后会致使你没法经过SSH链接到服务器,那就惨了。vim

本文转自米扑博客:Linux 修改SSH 默认端口 22,防止被破解密码安全

 

本文实例的系统环境服务器

阿里云 CentOS 7.4网络

 

1、修改配置文件 ssh

1. 修改配置文件 /etc/ssh/sshd_configtcp

vim /etc/ssh/sshd_config阿里云

修改spa

#Port 22
#ListenAddress 0.0.0.0
#ListenAddress ::

rest

Port 22
Port 23456
#ListenAddress 0.0.0.0
#ListenAddress ::

如上,取消注释 Port 22,并在其下方增长一行 Port 23456

说明:

SSH默认监听端口是22,若是不强制说明,”Port 22”注释或不注释,都会默认开放端口22远程登陆

上面取消注释并保留了22端口,防止可能各类权限和配置问题,致使22端口不能访问,那就尴尬了

增长了一行 Port 23456 端口,就是为了来替换默认端口22的,你们在修改端口时候最好挑10000~65535之间的端口号,10000如下容易被系统或一些特殊软件占用,或是之后新安装的应用可能占用该端口,因此10000如下的端口号都不要使用。

 

2、使其 sshd 配置生效

一、执行以下命令,使 sshd 配置修改后生效

1)CentOS 7.x 以上系统,执行命令

systemctl restart sshd.service

2)CentOS 6.x 如下系统,执行命令

/etc/init.d/sshd restart

 

二、生效后,使用新端口号登陆

ssh root@47.106.126.167 -p 23456

# ssh root@47.106.126.167 -p 23456
root@47.106.126.167's password: 

输入密码便可成功登陆

注:此时 22 和 23456 两个端口均可以成功登陆ssh

 

三、确认新端口可登陆,注释掉22端口

vim /etc/ssh/sshd_config

注释掉端口22,最后的配置内容以下

#Port 22
Port 23456
#ListenAddress 0.0.0.0
#ListenAddress ::

最后,别忘了修改配置文件后,使其生效

1)CentOS 7.x 以上系统,执行命令

systemctl restart sshd.service

2)CentOS 6.x 如下系统,执行命令

/etc/init.d/sshd restart

 

3、防火墙容许新端口号

阿里云使用 CentOS 7 之前的版本并开启默认防火墙 iptables 时,应注意 iptables 默认不拦截访问

若是您配置了 iptables 规则,须要执行命令容许新端口:

iptables -A INPUT -p tcp --dport 23456 -j ACCEPT

而后执行重启防火墙命令

service iptables restart

说明

CentOS 7 之后版本默认安装 Firewalld

首先,查看防火墙是否开启了 23456 端口号

firewall-cmd --permanent --query-port=23456/tcp

若打印结果为 no 表示没有开放 23456 端口号,那么添加容许新端口号,运行命令

firewall-cmd --permanent --add-port=23456/tcp

返回结果为 success 即表示放行 TCP 23456 端口号

接着,从新加载防火墙策略,使配置生效

firewall-cmd --reload

最后,再次查询是否开放了 23456 端口号

firewall-cmd --permanent --add-port=23456/tcp

若开放了新端口号,此时会打印 yes

 

4、策略组容许新端口号

阿里云、腾讯云等不少云服务器商都有安全组策略,若防火墙开放了新端口号,但安全组没有开放新端口号,也是没法ssh登陆的,所以还须要在安全组开放新端口号

登陆 ECS 管理控制台,找到该实例,选择 网络和安全组

安全组规则页面,单击添加安全组规则,根据实际的使用场景来定义安全规则,容许新配置的远程端口进行链接。

关于如何设置安全组参见 添加安全组规则

相关文章
相关标签/搜索