防火墙:firewalld
1.编辑SSH配置文件,修改端口为8888,SSH服务器端配置文件在/etc/ssh/sshd_config
2.重启sshd 报错
[root@CentOS7 ~]# systemctl status sshd
● sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
Active: activating (auto-restart) (Result: resources) since Sat 2017-01-14 02:51:58 EST; 16s ago
Docs: man:sshd(8)
man:sshd_config(5)
Process: 10214 ExecStart=/usr/sbin/sshd $OPTIONS (code=exited, status=0/SUCCESS)
Main PID: 764 (code=exited, status=0/SUCCESS)
Jan 14 02:51:58 CentOS7 systemd[1]: sshd.service never wrote its PID file. Failing.
Jan 14 02:51:58 CentOS7 systemd[1]: Failed to start OpenSSH server daemon.
Jan 14 02:51:58 CentOS7 systemd[1]: Unit sshd.service entered failed state.
Jan 14 02:51:58 CentOS7 systemd[1]: sshd.service failed.
[root@MC ~]# vim /etc/ssh/sshd_config
[root@MC ~]# systemctl status sshd
● sshd.service - OpenSSH server daemon
Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; vendor preset: enabled)
Active: activating (auto-restart) (Result: resources) since Sat 2017-01-14 02:52:40 EST; 18s ago
Docs: man:sshd(8)
man:sshd_config(5)
Process: 10219 ExecStart=/usr/sbin/sshd $OPTIONS (code=exited, status=0/SUCCESS)
Main PID: 764 (code=exited, status=0/SUCCESS)
Jan 14 02:52:40 CentOS7 systemd[1]: sshd.service never wrote its PID file. Failing.
Jan 14 02:52:40 CentOS7 systemd[1]: Failed to start OpenSSH server daemon.
Jan 14 02:52:40 CentOS7 systemd[1]: Unit sshd.service entered failed state.
Jan 14 02:52:40 CentOS7 systemd[1]: sshd.service failed.
看提示,我猜应该是SELinux的原因,执行sestatus之后,果然:
[root@CentOS7 ~]# sestatus
SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: enforcing
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 28
既然被SELinux禁止,那我添加一条规则不就好了,放狗搜到这条命令:
semanage port -a -t ssh_port_t -p tcp 8888
其中8888是想更换的SSH端口,回车之后需要等待几秒,如果提示semanage命令不存在,则:
yum -y install policycoreutils-python
安装之后就好了。
安装完成之后重启SSHD服务就行了。
如果重启之后连不上,可能是被防火墙给屏蔽了,放行对应的端口即可:
firewall-cmd --permanent --zone=public --add-port=8888/tcp
重启之后验证一下:
semanage port -l | grep ssh
netstat -tulpn | grep 8888
ss -tnlp|grep ssh