現象:為保證服務器遠程連接的安全性,修改ssh遠程端口從默認22端口至其他端口
修改/etc/ssh/sshd_config
vi /etc/ssh/sshd_config
#Port 22 //這行去掉#號
Port 520 //下面添加這一行
重啟ssh服務
systemctl restart sshd.service
查看ssh狀態
systemctl status sshd.service
使用ssh工具連接服務器失敗
原因:
服務器操作系統版本為Centos 7
[root@localhost ~]# getenforce
Enforcing
解決方法:
①關閉selinux,修改配置文件
vi /etc/selinux/config 設置SELinux為disable SELINUX=disabled
保存退出,重啟服務器,遠程連接正常。
②使用以下命令查看當前SElinux允許的ssh端口:
semanage port -l | grep ssh
添加520端口到SELinux
semanage port -a -t ssh_port_t -p tcp 520
然后確認一下是否添加進去
semanage port -l | grep ssh
如果成功會輸出
ssh_port_t tcp 520, 22
重啟ssh
systemctl restart sshd.service
不過上述方法僅僅是在ssh中設置端口,還要在防火牆firewalld中放行端口才是
CentOS 7防火牆換用Friewalld了
其實跟iptable一樣就命令不一樣
這里有個問題如果要添加范圍例外端口如1000-2000
語法命令如下:
啟用區域端口和協議組合
firewall-cmd [--zone=] --add-port=[-]/ [--timeout=]
此舉將啟用端口和協議的組合。端口可以是一個單獨的端口 或者是一個端口范圍。協議可以是tcp或udp。
實際命令如下:
firewall-cmd --zone=public --add-port=520/tcp --permanent
執行可以成功。