一、修改sshd服務的端口號配置過程如下
- 第1步:首先修改 sshd 的配置文件 /etc/ssh/sshd_config,修改如下:
[root@localhost ~]# vim /etc/ssh/sshd_config
Port 22 #將這一行的注釋去掉
Port 5500 #添加這一行,新添加一個sshd服務端口號
- 第2步:設置防火牆放行 5500 端口號,設置如下:
#用iptables添加放行端口,iptables 和 firewall-cmd 用一種即可
[root@localhost ~]# iptables -I INPUT -s 0.0.0.0 -p tcp --dport 5500 -j ACCEPT
#用firewall-cmd添加放行端口
[root@localhost ~]# firewall-cmd --zone=public --add-port=5500/tcp
[root@localhost ~]# firewall-cmd --zone=public --query-port=5500/tcp
- 第3步:向 SELinux中添加修改的SSH端口,先安裝其依賴工具包 policycoreutils-python。安裝命令是: yum install policycoreutils-python。還要安裝 SELinux的管理工具 semanage,命令是:yum provides semanage。操作如下:
[root@localhost ~]# yum install policycoreutils-python #先安裝semanage的依賴包
#安裝過程省略
[root@localhost ~]# yum provides semanage #安裝SELinux管理工具 semanage,過程如下
base/7/x86_64/filelists_db | 7.2 MB 00:00:03
extras/7/x86_64/filelists_db | 259 kB 00:00:00
updates/7/x86_64/filelists_db | 6.5 MB 00:00:03
policycoreutils-python-2.5-34.el7.x86_64 : SELinux policy core python utilities
Repo : base
Matched from:
Filename : /usr/sbin/semanage
policycoreutils-python-2.5-34.el7.x86_64 : SELinux policy core python utilities
Repo : @base
Matched from:
Filename : /usr/sbin/semanage
- 第4步:使用semanage命令查詢當前 ssh 服務端口、添加端口等操作如下:
[root@localhost ~]# semanage port -l | grep ssh #查看當前ssh端口
ssh_port_t tcp 22
[root@localhost ~]# semanage port -a -t ssh_port_t -p tcp 5500 #向SELinux添加ssh端口
[root@localhost ~]# semanage port -l | grep ssh #驗證端口是否添加成功
ssh_port_t tcp 5500, 22
- 第5步:重啟 ssh 服務,並使用新端口進行驗證。操作如下:
[root@localhost ~]# systemctl restart sshd
C:\Users\xx>ssh tom@192.168.0.40 -p 5500 #在windows電腦上通過5500端口可以正常連接
tom@192.168.0.40's password:
Last login: Fri Nov 5 22:36:58 2021 from 192.168.0.5
[tom@localhost ~]$
- 寫到最后,通過新端口可以正常連接 Linux 后,可以將 ssh 的配置文件 /etc/ssh/sshd_config 中的 Port 22 這行注釋掉,重啟 ssh 服務不會報錯,也可以正常通過新端口連接 Linux。
- 如果要將SELinux中給 ssh 添加的 5500 端口移除,使用 --delete 參數,操作如下:
[root@localhost ~]# semanage port --delete -t ssh_port_t -p tcp 5500
[root@localhost ~]# semanage port -l | grep ssh #驗證是否刪除成功
ssh_port_t tcp 22