总结
1.先开好防火墙端口
2.再设置号 selinux
3.最后再改 sshd_config,记得别敲错字符了
改完之后,别着急退出,先telnet试试端口通不通,然后ssh连接一下,行不行。
就算敲错字符了,或者重启没成功,只要当前连接没退出,还是依旧有效的。一旦退出,就会再也连不上。
修改端口
cat /etc/ssh/sshd_config
vi /etc/ssh/sshd_config
添加
Port 22
Port 3389
设置防火墙端口打开
firewall-cmd --zone=public --add-port=22/tcp --permanent
firewall-cmd --zone=public --add-port=3389/tcp --permanent
firewall-cmd --reload
用这个看看,是不是真的打开了
firewall-cmd --list-ports
重启ssh
systemctl status sshd.service
sudo systemctl restart sshd.service
可能会报错
[root@localhost ~]# systemctl restart sshd.service
Job for sshd.service failed because the control process exited with error code. See "systemctl status sshd.service" and "journalctl -xe" for details.
1 可能是/etc/ssh/sshd_config 改得有问题,自己回想改了哪里,一个一个字符去检查。
我就把Port给打错了。
2 可能是因为selinux的原因
直接的方法
getenforce
setenforce 0
另一个方法
semanage port -l | grep ssh
sudo semanage port -a -t ssh_port_t -p tcp 3389
sudo systemctl restart sshd.service
可能提示没得 semanage
从centos 7.7的iso包里面找 policycoreutils-python-2.5-33.el7.x86_64.rpm,并安装。
对于依赖项,先装认识的,能找到的,说不定那些看着怪怪的依赖项,就突然没了。
rpm -ivh audit-libs-python-2.8.5-4.el7.x86_64.rpm --force
rpm -ivh checkpolicy-2.5-8.el7.x86_64.rpm --force
rpm -ivh libsemanage-python-2.5-14.el7.x86_64.rpm --force
rpm -ivh setools-libs-3.3.8-4.el7.x86_64.rpm --force
rpm -ivh python-IPy-0.75-6.el7.noarch.rpm --force
rpm -ivh policycoreutils-python-2.5-33.el7.x86_64.rpm --force