## CentOS7更改ssh端口
### 1. 防火墙及开放端口设置
```shell
# 1. 开放端口
firewall-cmd --zone=public --add-port=5452/tcp --permanent#开放端口
firewall-cmd --zone=public --add-port=5452/tcp --permanent#关闭5452端口
firewall-cmd --reload # 配置立即生效
# 2. 查看防火墙开放的所有端口
firewall-cmd --zone=public --list-ports
# 3. 关闭防火墙
systemctl stop firewalld.service
# 4. 查看防火墙状态
firewall-cmd --state
#或
systemctl status firewalld
# 5. 查看监听端口
#需要先安装net-tools
netstat -lnpt
```
### 2. 更改腾讯云的ssh端口
#### 2.1 腾讯云安全组
安全组的设置用来管理云服务器是否可以被访问,您可以通过配置安全组的入站和出站规则,设置您的服务器是否可以被访问以及访问其他网络资源。
默认情况下,安全组的入站规则和出站规则如下:
- **为了数据安全,安全组的入站规则为拒绝策略,禁止外部网络的远程访问。**如果您需要您的云服务器被外部访问,则需要放通相应端口的入站规则。
- 安全组的出站规则用于设置您的云服务器是否可以访问外部网络资源。如果您选择 “放通全部端口” 或 “放通22,80,443,3389端口和 ICMP 协议”,安全组出站规则为全部放通。如果您选择自定义安全组规则,出站规则默认为全部拒绝,您需要放通相应端口的出站规则来访问外部网络资源。
参见[安全组应用案例](https://cloud.tencent.com/document/product/213/34601)
也就是说不更改安全组的入站规则即使改了端口也是无效的。
#### 2.2 腾讯云安全组设置
首先登陆到腾讯云,控制台--->云服务器--->安全组--->修改规则--->添加规则--->类型(linux登录)。此时你会发现端口无法修改

找到你刚刚创建的两个端口,点选编辑即可修改左边的端口,ssh用的是TCP协议,将22号端口改成你想要的即可,上面一行是IPv4,下面一行是IPv6,一般来说改IPv4的即可,别忘了点选右侧的保存。

至此安全组的设置完成。
#### 2.3 修改ssh配置
```shell
#修改ssh的配置文件
vim /etc/ssh/sshd_config
#将Port 22的注释删了,这边要开放的端口是43242,要与你安全组中开放的端口一样,不建议小于1024
Port 22
Port 43242
#防火墙开放43242端口
firewall-cmd --zone=public --add-port=43242/tcp --permanent
# 配置立即生效
firewall-cmd --reload
#查看所有开放端口
firewall-cmd --zone=public --list-ports
```
此时你应该发现你所设置的端口已经开放了。此时先远程用你设置的端口能登陆成功后再回来注释掉22端口。否则等不上就很尴尬。
### 3. 可能的问题
万一更改失败去控制台--->云服务器--->实例--->登陆方式选择vnc登陆即可。
一键复制
编辑
Web IDE
原始数据
按行查看
历史