首先先看一下你的Linux版本,这里介绍的centos7以下的版本;话不多说,步入正题。执行
setenforce 0
然后修改端口配置
vim /etc/ssh/sshd_config
把 # 打开,在下面添加你的端口号,打开的意思是防止新添加的端口号用不上,修改防火墙配置
vim /etc/sysconfig/iptables
添加新的端口号
-A INPUT -m state --state NEW -m tcp -p tcp --dport 端口号 -j ACCEPT
关闭防火墙,centos7以下的版本
service iptables stop
chkconfig iptables off
centos7以上:
systemctl stop firewalld
systemctl disable firewalld
然后保存设置
/etc/rc.d/init.d/iptables save
关闭SELinuxvim
vim /etc/sysconfig/selinux
SELINUX=disabled
重启服务即可生效
/etc/init.d/iptables restart
service sshd restart
将SELINUX=enforcing 这行修改为 SELINUX=disabled 然后重启
查看端口号
netstat -tpnl | grep ssh
上面这一步可以测试新连接连接不上进行下面的安装
semanage命令按照下面的教程安装
rpm -qa | grep semanag
which semanage
yum provides /usr/sbin/semanage
yum whatprovides /usr/sbin/semanage
yum -y install policycoreutils-python
按顺序执行以上的内容,添加端口到 SELinux
semanage port -a -t ssh_port_t -p tcp 端口号
开启SELinux较低安全等级
vim /etc/sysconfig/selinux
修改安全等级
SELINUX=permissive
然后reboot重启,重启好之后再一次用新端口测试远程连接,注意动态获取的IP会改变,注意连接的IP。
重启好之后用新的端口测试连接如果测试通过修改
SELINUX=enforcing
然后重启,看一下新的端口能否成功,还是注意IP的变化。如果能连接成功,说明成功了。这个时候就可以把端口号22删除了。以上步骤搞定收工,期间完成的很痛苦。