Centos7 修改SSH 端口

7,507 阅读2分钟

修改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是保存配置,不然下次重启以后这次修改无效)

若未启动,请先执行 systemctl start firewalld 启动

reload firewall:

firewall-cmd --reload

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

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

如果是阿里云需要配置安全组规则如下图

image

step3 修改SELinux

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

semanage port -l | grep ssh

解决 linux 下 semanage command not found 的问题

执行 :yum provides /usr/sbin/semanage 或者 yum whatprovides /usr/sbin/semanage

然后 yum -y install policycoreutils-python

如果SELinux未开启则先开启

查看SELinux状态:

1、/usr/sbin/sestatus -v      ##如果SELinux status参数为enabled即为开启状态

SELinux status:                enabled

开启SELinux

修改/etc/selinux/config 文件

将SELINUX=disabled改为SELINUX=enforcing

重启机器即可

添加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 重新注释掉。