Linux修改SSH连接的默认端口

本文实例的系统环境    阿里云 CentOS 7.4

一、修改配置文件

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

vim /etc/ssh/sshd_config

修改

#Port 22
 #ListenAddress 0.0.0.0
 #ListenAddress ::

Port 22
Port 23456
 #ListenAddress 0.0.0.0
 
#ListenAddress ::
如上,取消注释 Port 22,并在其下方增加一行 Port 23456

说明:

SSH默认监听端口是22,如果不强制说明,"Port 22" 注释或不注释,都会默认开放端口22远程登录

上面取消注释并保留了22端口,也就是让可以通过22端口登录,防止可能各种权限和配置问题,导致22端口不能访问,那就尴尬了

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

二、使其 sshd 配置生效

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

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

systemctl restart sshd.service

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

/etc/init.d/sshd restart

2、生效后,使用新端口号登录

ssh [email protected] -p 23456

# ssh [email protected] -p 23456
[email protected]'s password: 

输入密码即可成功登录

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

3、确认新端口可登录,注释掉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

三、防火墙允许新端口号(重要)

阿里云使用 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

你可能感兴趣的:(Linux系列,linux,ssh,服务器)