centos 下:
首先修改配置文件 vim /etc/ssh/sshd_config
(注意 网页 复制代码的 时候 vim和/etc中间的 空格有问题,导致shell 终端 无法识别 vim空格 命令)
重新总结一下:
step1 修改/etc/ssh/sshd_config
vi /etc/ssh/sshd_config
#Port 22 //这行去掉#号
Port 20000 //下面添加这一行
step2 修改SELinux
(这一步 centos 好像 不需要啊,有些版本好像还是需要的)
另外需要注意一点就是,如果selinux没有关闭,那么端口会绑定失败, 使用 systemctl status sshd.service 命令查看状态时 会发现error: Bind to port 2223 on 0.0.0.0 failed: Permission denied,的错误, 这种情况改下,要关闭selinux,然后再次重新启动ssh服务,新的端口才可以生效
如果忽略这一步,发现端口修改无效,可以看看systemctl status sshd.service
semanage 命令如果找不到,
-bash: semanage: command not found
就先查找,哪个软件提供这条命令
yum provides /usr/sbin/semanage # 也可以用 下面这条命令 yum whatprovides /usr/sbin/semanage
可能输出:
Loaded plugins: fastestmirror Determining fastest mirrors * base: mirror.nbrc.ac.in * extras: mirror.nbrc.ac.in * updates: mirror.nbrc.ac.in policycoreutils-python-2.2.5-11.el7.x86_64 : SELinux policy core python : utilities Repo : base Matched from: Filename : /usr/sbin/semanage policycoreutils-python-2.2.5-11.el7_0.1.x86_64 : SELinux policy core python : utilities Repo : updates Matched from: Filename : /usr/sbin/semanage
As you see in the above output, we need to install the package policycoreutils-python-2.2.5-11.el7_0.1.x86_64 in order to use ‘semanage’ command.
so, let us install policycoreutils-python-2.2.5-11.el7_0.1.x86_64 package using command:
yum install policycoreutils-python
使用以下命令查看当前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
step3 重启ssh
systemctl restart sshd.service
step4 配置防火墙端口号
centos7 防火墙 改成了 firewalld 替换 原来的 iptable 了。
firewall-cmd --permanent --add-port=12588/tcp (ssh改用的端口号) firewall-cmd --reload(重新加载防火墙配置) 因为 ssh 默认端口改了 所以 开放 ssh 使用 的端口吧 (结果没有用) firewall-cmd --permanent --zone=public --add-service ssh
课外补充: 使用 防火墙 屏蔽 ip 地址
firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='128.128.128.128' reject"
参考:
https://www.cnblogs.com/freeweb/p/5667166.html
Linux Troubleshooting – semanage command not found in CentOS 7/RHEL 7